【问题标题】:How do I set a default datetime parameter in a stored procedure?如何在存储过程中设置默认日期时间参数?
【发布时间】:2011-05-18 14:09:53
【问题描述】:

我在 Sybase 中声明了一个存储过程,其中一个参数是 datetime 类型。现在我想为这个日期时间分配一个默认值。

声明如下:

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

但是 Sybase 给我一个错误

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

可以这样做吗?如果没有,是否有解决方法?

【问题讨论】:

    标签: stored-procedures sybase default-parameters


    【解决方案1】:

    您不能在默认变量赋值中使用函数调用(如您所见)。

    将默认设置为 Null,并将赋值放在存储过程中。

      create procedure Procedure 
      (
          @fromDate datetime = NULL
      )
      begin
    
          set @fromDate = coalesce( @fromDate , getdate() ) 
    
      end 
    

    【讨论】:

    • 几年前我问过这个问题!在信用到期时给予信用。谢谢!
    猜你喜欢
    • 2020-03-27
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2011-09-18
    • 1970-01-01
    • 2017-05-07
    相关资源
    最近更新 更多