更新列我有一個表,如下所示 -用程序輸出
Table1
Col1 Col2 Col3
1 a NULL
2 b NULL
3 c NULL
我有一個程序usp_calculateResult(Col1中,col2的)。
現在我想要的是用程序usp_calculateResult的輸出來更新Col3。 例如,如果我想用Col1的值更新Col3,那麼我們將執行:UPDATE Table1 SET Col3 = Col1。 我需要用過程輸出替換Col1。
我正在使用SQL Server 2005.請幫助。
注意:usp_calculateResult有兩個輸入參數和一個輸出參數。由於安全問題,我無法發佈該程序。
[編輯:加]
按照下面的討論中,我想我必須作出一個功能相同的程序。我沒有看到其他選擇。任何人都可以請評論這個?
你真的需要爲每一行執行sp嗎?這聽起來可以改爲使用計算列。難道你不能混淆你的sp並告訴我們它做了什麼嗎?這樣我們就可以爲這個 – Lamak
找出一個基於集合的解決方案而不是使用'output'參數,然後你必須在表格中保存回'Col3' ,爲什麼存儲過程只能設置'Col3'的值? –
如果你重新定義了你的SP作爲一個函數,你可以稱它爲'UPDATE Table1 SET Col3 = usp_calculateResult(Col1,Col2)',但我同意這可能會變得過於昂貴 –