Wie eine benutzerdefinierte Funktion in sybase zu schaffen?
-
21-09-2019 - |
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
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.
Andere Tipps
Ich finde keine Sache falsch mit dem Code. Sie können mit dem Code unten-
erneut versuchenCREATE 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