1. 程式人生 > >SQL SERVER 事務例子

SQL SERVER 事務例子

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 事務例子