2010-12-01 9 views
1

私はSybaseでストアドプロシージャを宣言しており、パラメータの1つはdatetime型です。今、このdatetimeをデフォルト値に割り当てたいと思います。ここでストアドプロシージャのデフォルトの日時パラメータを設定するにはどうすればよいですか?

は宣言です:

create procedure Procedure 
(
    @fromDate datetime = getdate() 
) 
... 

しかしSybaseは

Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('. 

がこれを行うには、それが可能な私にエラーを与えていますか?回避策がありますか?

答えて

3

デフォルトの変数代入(見つかったとおり)で関数呼び出しを使用することはできません。

デフォルトをNullに設定し、ストアドプロシージャの最初の割り当てを配置します。

create procedure Procedure 
    (
     @fromDate datetime = NULL 
) 
    begin 

     set @fromDate = coalesce(@fromDate , getdate()) 

    end 
+0

私はこの年前に質問しました!クレジットを支払う場所にクレジットを与える。ありがとう! –

関連する問題