sql 2005 try catch
生活随笔
收集整理的這篇文章主要介紹了
sql 2005 try catch
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
--刪除卡的記錄 delete from ObjTransportCard where CardId=@CardId --刪除交易的記錄 delete from ObjTransaction where CardId=@CardId 在Sql 2000中,為了成功執行這個存儲過程,我需要在每一條語句后面去判斷@@ERROR,如果有錯,則執行回滾.上例只是我舉的一個簡單的例子,如果在一個真實大型應用程序中,有多條語句,去判斷每條語句的成功失敗將是十分繁瑣的.現在,利用Sql server 2005的Try...Catch,我們就能象平時對待程序代碼一樣處理Sql中的異常: BEGIN TRY BEGIN TRANSACTION --刪除卡的記錄 delete from ObjTransportCard where CardId=@CardId --刪除交易的記錄 delete from ObjTransaction where CardId=@CardId COMMIT END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY() RAISERROR(@ErrMsg, @ErrSeverity, 1) END CATCH 看起來是不是很幽雅呢? 另外,Sql server 2005提供了一些系統函數給用戶使用,以得到更多的錯誤信息,如下: ERROR_NUMBER()----返回錯誤的數量 ERROR_SEVERITY() ----返回錯誤的嚴重級別 ERROR_STATE() ----返回錯誤的狀態碼 ERROR_PROCEDURE() ----返回發生錯誤的存儲過程或者觸發器的名稱 ERROR_LINE() ----返回錯誤發生的行數 ERROR_MESSAGE() ----返回錯誤的詳細信息
總結
以上是生活随笔為你收集整理的sql 2005 try catch的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于git的工作流程
- 下一篇: OpenStack Weekly Ran