كيفية إنشاء وظيفة محددة المستخدم في 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]
ماذا يمكنني أن أفعل؟ شكرًا
المحلول
لقد بحثت كثيرًا في الويب والمستندات الأخرى ، أجد أنه يجب تنفيذ الوظائف المعرفة من قبل المستخدم في Enterprise Enterprise 12 (ASE) في Java. قررت استخدام stordprocedure. استخدامه صعب بعض الشيء ولكنه مدعوم في كل إصدار من Sybase.
نصائح أخرى
لا أجد أي شيء خطأ في الكود. يمكنك إعادة تجنبه مع الكود أدناه-
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