2017-01-03 24 views
2

在編寫存儲過程時,我已經移除了set no count on,並檢查是否有多行受影響來檢查表值是否受影響。如何檢查所有多個表是否更新?

然後我意識到它會帶來不好的表現。

然後我實現了像@@ rowcount。

但是爲了檢查一張桌子,這將是一個好主意。

在存儲過程中,我將更新多個表並刪除多個表。

如何返回值是否以有效的方式更新/刪除到服務器端(我將使用.ExecuteScalar)?

+0

請添加一些代碼來顯示你的問題,並解釋你所做的和嘗試過的。 – Bauss

+1

只是一種解決方法。將@@ rowcount分配給一個變量。在執行每個語句之後,將多個@@ rowcount與變量中存在的值相乘。如果所有表都受到影響,那麼您將得到一個非零值作爲結果或它將爲零。 –

+0

@ GopakumarN.Kurup謝謝。我想我們正在同一條船上航行:-p ..我已經試過了。有沒有其他的?這是可以繼續.. –

回答

0

變體1:創建trigger將變化記錄到表中,然後從該表中獲取信息。

變體2:使用系統變量@@rowcount獲取有關行的影響信息。

變3:獲取有關影響行信息,並使用您的variable或輸出selectoutput statement可存儲更改的行

變4的號碼:重寫你的代碼模式:int numberOfRecords = comm.ExecuteNonQuery();

相關問題