Comment créer une fonction définie par l'utilisateur dans sybase?
-
21-09-2019 - |
Question
Je tente de définir une fonction dans sybase. Je vous écris ce script:
CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
BEGIN
RETURN (10)
END
mais quand je lance, je reçois cette erreur:
>[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]
Que puis-je faire? Merci
La solution
Je cherchai très en web et d'autres documents, je trouve que les fonctions définies par l'utilisateur dans Adaptive Server Enterprise 12 (ASE) doivent être mises en œuvre en Java. J'ai décidé d'utiliser un StordProcedure. l'utilisation de Il est un peu difficile, mais il a soutenu dans toutes les versions de Sybase.
Autres conseils
Je ne trouve pas quelque chose de mal avec le code. vous pouvez ré-essayer avec le code ci-dessous-
CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
As
BEGIN
RETURN (10)
END
Essayez ceci .... cela fonctionnera
CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
As
BEGIN
declare @Result int
select @Result=10
RETURN @Result
END
cela a fonctionné pour moi.
CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
AS
BEGIN
select @userId = 10
RETURN @userId
END
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow