如何在存储过程中设置默认日期时间参数?

时间:2010-12-01 15:50:25

标签: stored-procedures sybase default-parameters

我在Sybase中声明了一个存储过程,其中一个参数是datetime类型。现在我想为这个日期时间分配一个默认值。

这是宣言:

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

然而Sybase给我一个错误

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

有可能这样做吗?如果没有,是否有解决方法?

1 个答案:

答案 0 :(得分:3)

您不能在默认变量赋值中使用函数调用(如您所知)。

将默认值设置为Null,并在存储过程中首先放置一个赋值。

  create procedure Procedure 
  (
      @fromDate datetime = NULL
  )
  begin

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

  end