1. 程式人生 > >SQL SERVER存儲過程中使用事務與捕獲異常

SQL SERVER存儲過程中使用事務與捕獲異常

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存儲過程中使用事務與捕獲異常