2017-02-28 80 views
0

如何在sql server存储过程中设置datetime可选参数?如何在sql server存储过程中设置datetime可选参数?

下面是我的存储过程,我想在@LocalDateTime为null时设置@LocalDateTime = utcdate。

存储过程:

Create PROCEDURE [dbo].[ABC] 
( 
    @LocalDateTime datetime=getutcdate() 
) 
+0

它做什么?如果是这样,什么?那为什么不是你所需要的?换句话说:请问你的问题,让人们明白你需要什么帮助。 – Burki

回答

3

的参数的缺省值必须是恒定的。你可以将它设置在存储过程的主体内:

Create PROCEDURE [dbo].[ABC] 
( 
    @LocalDateTime datetime = null 
) 

as 

begin 

    set @LocalDateTime = ISNULL(@LocalDateTime,GETUTCDATE()) 

end 

更多信息here MSDN上。下面是摘录:

默认
一个参数的默认值。如果为参数定义了默认值 ,则可以执行该过程而不指定该参数的 值。 默认值必须是常数或 可以为NULL。

+0

谢谢@Andrea,其实我想给宣言赋予价值,但我认为这是不可能的。 –

相关问题