0
我的存儲過程接受xml
數據,可從這個xml
數據生成的行數是未知的正手。使用@@錯誤和存儲過程中@@行數
在此我需要處理的事務此xml
數據保存到一個表時。我不能用@@rowcount
檢查刀片是否成功,因爲在xml
插入所有行一次。因此我唯一的選擇是@@error
。假設xml
包含10行數據,如果一個記錄無法插入會@@error
檢測呢?
謝謝
我的存儲過程接受xml
數據,可從這個xml
數據生成的行數是未知的正手。使用@@錯誤和存儲過程中@@行數
在此我需要處理的事務此xml
數據保存到一個表時。我不能用@@rowcount
檢查刀片是否成功,因爲在xml
插入所有行一次。因此我唯一的選擇是@@error
。假設xml
包含10行數據,如果一個記錄無法插入會@@error
檢測呢?
謝謝
不知道實際的INSERT,但總的來說答案是肯定的。如果它是單個語句並且出錯,則在回滾之後不會插入行;否則它取決於你的錯誤處理代碼。
我推薦使用TRY .. CATCH來處理錯誤,而不是@@ ERROR功能。
有一個關於在SQL Server錯誤處理一個很好的文章厄蘭Sommarskog你應該閱讀:
http://www.sommarskog.se/error-handling-I.html#batchabort1
而較新的一個,以及: