SQL SERVER存儲過程中使用事務與捕獲異常
阿新 • • 發佈:2018-02-03
log class url 開始 過程 eat rollback catch ack
https://www.douban.com/note/559596669/
格式類似於
CREATE PROCEDURE YourProcedure
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY---------------------開始捕捉異常
BEIN TRAN------------------開始事務
UPDATE A SET A.names = B.names FROM 表1 AS A INNER JOIN 表2 AS B ON A.id = B.id
UPDATE A SET A.names = B.names FROM 表1 AS A INNER JOIN 表2 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
SQL SERVER存儲過程中使用事務與捕獲異常