Jos*_*ose 4 sybase stored-procedures default-parameters
我在 Sybase 中声明了一个存储过程,其中一个参数是 datetime 类型。现在我想为这个日期时间分配一个默认值。
这是声明:
create procedure Procedure
(
@fromDate datetime = getdate()
)
...
Run Code Online (Sandbox Code Playgroud)
但是 Sybase 给了我一个错误
Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('.
Run Code Online (Sandbox Code Playgroud)
是否有可能做到这一点?如果没有,是否有解决方法?
您不能在默认变量赋值中使用函数调用(如您所见)。
将默认值设置为 Null,并在存储过程中首先进行赋值。
create procedure Procedure
(
@fromDate datetime = NULL
)
begin
set @fromDate = coalesce( @fromDate , getdate() )
end
Run Code Online (Sandbox Code Playgroud)