2

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] 

私に何ができる?ありがとう

4

4 に答える 4

5

Web やその他のドキュメントをよく調べたところ、Adaptive Server Enterprise 12 (ASE) のユーザー定義関数は Java で実装する必要があることがわかりました。StordProcedure を使用することにしました。使い方は少し難しいですが、Sybase のすべてのバージョンでサポートされています。

参照: http://www.sypron.nl/udf.html

于 2009-10-13T08:18:23.603 に答える
1

コードに問題はありません。以下のコードで再試行できます-

CREATE FUNCTION GetUserGroup (userId int)
RETURNS int
As
BEGIN
    RETURN (10)
END
于 2012-05-10T09:46:22.307 に答える
-1

これを試してください....うまくいくでしょう

CREATE FUNCTION GetUserGroup (@userId int)
RETURNS int
As
BEGIN
declare @Result int
select @Result=10
RETURN @Result
END
于 2014-06-18T08:50:47.197 に答える