2010-12-01 33 views
1

我已经在Sybase中声明了一个存储过程,并且其中一个参数的类型是datetime。现在我想给这个日期时间分配一个默认值。如何在存储过程中设置默认日期时间参数?

这里的声明:

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

但是Sybase公司给我一个错误

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

是否有可能做到这一点?如果没有,是否有解决方法?

回答

3

您不能在默认变量赋值中使用函数调用(如您发现的那样)。

将默认值设置为Null,并在存储过程中放置​​第一件事。

create procedure Procedure 
    (
     @fromDate datetime = NULL 
) 
    begin 

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

    end 
+0

我在几年前问过这个问题!在信贷到期时给予信贷。谢谢! – 2014-04-15 21:44:03