我希望在存儲過程中有一個「@myDate」參數,如果沒有指定其他參數,則默認爲今天的2年。我試圖做這樣的事情在我的過程定義:我可以默認SQL存儲過程參數爲動態表達式嗎?
CREATE PROCEDURE myProcedure( @param1 int,
@param2 varchar(20),
@param3 int = null,
@myDate datetime = dateadd(year,-2,getDate()))
我得到以下語法錯誤:
Incorrect syntax near '('.
是否SQL服務器允許您設置動態表達式爲默認參數值?如果沒有,我該如何解決這個問題(笨拙的IF @myDate is null SET @myDate=...
除外)?
有笨拙和懶惰之間的細線。 –