我試圖編寫一個存儲過程來協助開發我們的數據庫,但我在使用它時遇到了一些麻煩。例如:在存儲過程參數列表中使用表達式的結果(例如函數調用)?
DECLARE @pID int;
SET @pID = 1;
EXEC WriteLog 'Component', 'Source', 'Could not find given id: ' + CAST(@pID AS varchar);
這會產生錯誤
消息102,級別15,狀態1(SQL Server 2005上),4號線 附近有語法錯誤 '+'。
有人可以向我解釋爲什麼我的語法不正確,並解決這個問題的正確方法?
我希望避免中間變量。有沒有適當的方法來做到這一點,而不介紹它們? – WorkerThread
啊,剛纔看到你的解釋。謝謝你澄清這一點。 – WorkerThread
@工作者 - 這一切都有點煩人。 MS在此確認儘可能多https://connect.microsoft.com/SQLServer/feedback/details/352110/t-sql-use-scalar-functions-as-stored-procedure-parameters –