4

我在 Sybase 中声明了一个存储过程,其中一个参数是 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 回答