SQL SERVER 事務例子
阿新 • • 發佈:2018-02-01
pda 存儲過程 creat 參數 結束 name 記錄 tro 事務
存儲過程格式:
CREATE PROCEDURE YourProcedure AS BEGIN SET NOCOUNT ON; BEGIN TRY---------------------開始捕捉異常 BEIN TRAN------------------開始事務 UPDATE A SET A.names = B.names FROM T1 AS A INNER JOIN T2 AS B ON A.id = B.id UPDATE A SET A.names = B.names FROM T1 AS A INNER JOIN T2 AS B ON A.TEST = B.TEST COMMIT TRAN-------提交事務 END TRY-----------結束捕捉異常 BEGIN CATCH------------有異常被捕獲 IF @@TRANCOUNT > 0---------------判斷有沒有事務 BEGIN ROLLBACK TRAN----------回滾事務 END EXEC YourLogErrorProcedure-----------記錄存儲過程執行時的錯誤信息,自定義 END CATCH--------結束異常處理 END
二、捕獲錯誤的常用函數
1、ERROR_NUMBER() 返回錯誤號。
2、ERROR_SEVERITY() 返回嚴重級別。
3、ERROR_STATE() 返回錯誤狀態號。
4、ERROR_PROCEDURE() 返回出現錯誤的存儲過程或觸發器的名稱。
5、ERROR_LINE() 返回導致錯誤的行號。
6、ERROR_MESSAGE() 返回錯誤消息的完整文本。該文本可包括任何可替換參數所提供的值,如長度、對象名或時間。
SQL SERVER 事務例子