質問

私は、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] 

私は何ができますか? おかげ

役に立ちましたか?

解決

私は、Webや他の文書では非常に多くを探索し、私は、Adaptive Server Enterpriseの12(ASE)でユーザー定義関数をJavaで実装されなければならないことがわかります。 私はStordProcedureを使用することにしました。また、使用量が少し難しいですが、それは、Sybaseのすべてのバージョンではサポートされています。

を参照してください。 http://www.sypron.nl/udf.htmlする

他のヒント

私は、コードと間違って任意のものを見つけることができません。あなたはbelow-コードで再試すことができます。

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top