2017-02-28 73 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,其實我想給宣言賦予價值,但我認爲這是不可能的。 –

相關問題