我在Sybase中声明了一个存储过程,其中一个参数是datetime类型。现在我想为这个日期时间分配一个默认值。
这是宣言:
create procedure Procedure
(
@fromDate datetime = getdate()
)
...
然而Sybase给我一个错误
Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('.
有可能这样做吗?如果没有,是否有解决方法?
答案 0 :(得分:3)
您不能在默认变量赋值中使用函数调用(如您所知)。
将默认值设置为Null,并在存储过程中首先放置一个赋值。
create procedure Procedure
(
@fromDate datetime = NULL
)
begin
set @fromDate = coalesce( @fromDate , getdate() )
end