4

Sybaseでストアドプロシージャを宣言しましたが、パラメータの1つはdatetime型です。ここで、この日時にデフォルト値を割り当てたいと思います。

宣言は次のとおりです。

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

ただし、Sybaseからエラーが発生します

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

これを行うことは可能ですか?そうでない場合、回避策はありますか?

4

1 に答える 1

7

(あなたが知っているように)デフォルトの変数代入で関数呼び出しを使用することはできません。

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

  create procedure Procedure 
  (
      @fromDate datetime = NULL
  )
  begin

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

  end 
于 2010-12-01T22:18:34.287 に答える