Frage

ich versuche, eine Funktion in sybase zu definieren. Ich schreibe dieses Skript:

CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
BEGIN
    RETURN (10)
END

aber wenn ich diese laufen, ich diesen Fehler:

>[Error] Script lines: 1-6 --------------------------
 Incorrect syntax near the keyword 'BEGIN'.
 Msg: 156, Level: 15, State: 2
 Server: NEWSERVER, Procedure: GetUserGroup, Line: 3 

>[Error] Script lines: 1-6 --------------------------
 A RETURN statement with a return status may only be used in a SQL stored procedure.
 Msg: 178, Level: 15, State: 1
 Server: NEWSERVER, Procedure: GetUserGroup, Line: 4 

 [Executed: 10/13/09 11:01:29 AM IRST ] [Execution: 0/ms] 

Was kann ich tun? Dank

War es hilfreich?

Lösung

Ich suchte sehr viel im Web und in anderen Dokumenten, finde ich, dass benutzerdefinierte Funktionen in Adaptive Server Enterprise 12 (ASE) muss in Java implementiert werden. Ich beschloss, einen StordProcedure zu verwenden. Es Nutzung ist ein wenig hart, aber es in allen Versionen von Sybase unterstützt.

siehe: http://www.sypron.nl/udf.html

Andere Tipps

Ich finde keine Sache falsch mit dem Code. Sie können mit dem Code unten-

erneut versuchen
CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
As
BEGIN
    RETURN (10)
END

Try This .... es wird funktionieren

CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
As
BEGIN
declare @Result int
select @Result=10
RETURN @Result
END

das für mich gearbeitet.

CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
AS
BEGIN
 select @userId = 10
    RETURN @userId
END
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top