如何在存储过程中设置默认日期时间参数?
问题描述:
我已经在Sybase中声明了一个存储过程,并且其中一个参数的类型是datetime。现在我想给这个日期时间分配一个默认值。如何在存储过程中设置默认日期时间参数?
这里的声明:
create procedure Procedure
(
@fromDate datetime = getdate()
)
...
但是Sybase公司给我一个错误
Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('.
是否有可能做到这一点?如果没有,是否有解决方法?
答
您不能在默认变量赋值中使用函数调用(如您发现的那样)。
将默认值设置为Null,并在存储过程中放置第一件事。
create procedure Procedure
(
@fromDate datetime = NULL
)
begin
set @fromDate = coalesce(@fromDate , getdate())
end
我在几年前问过这个问题!在信贷到期时给予信贷。谢谢! – 2014-04-15 21:44:03