Как создать пользовательскую функцию в sybase?
-
21-09-2019 - |
Вопрос
Я пытаюсь определить функцию в sybase.Я пишу этот сценарий:
CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
BEGIN
RETURN (10)
END
но когда я запускаю это, я получаю следующую ошибку:
>[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]
Что я могу сделать?Спасибо
Решение
Я очень много искал в веб-и других документах, я обнаружил, что определяемые пользователем функции в Adaptive Server Enterprise 12 (ASE) должны быть реализованы на Java.Я решил использовать StordProcedure.Его использование немного затруднено, но оно поддерживается во всех версиях Sybase.
видишь: http://www.sypron.nl/udf.html
Другие советы
Я не вижу ничего плохого в коде.вы можете повторить попытку, используя код ниже:
CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
As
BEGIN
RETURN (10)
END
Попробуйте это.... это сработает
CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
As
BEGIN
declare @Result int
select @Result=10
RETURN @Result
END
это сработало для меня.
CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
AS
BEGIN
select @userId = 10
RETURN @userId
END
Не связан с StackOverflow