学习无止境!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
-- =============================================
-- Transaction Temp
-- =============================================
BEGIN TRY
    BEGIN TRANSACTION
 
    --
    -- You code here.
    --
 
    COMMIT TRANSACTION
END TRY
BEGIN CATCH

    IF (@@TRANCOUNT > 0)
        -- Adds store procedure
        -- Writes the error into ErrorLog table.
        ROLLBACK TRANSACTION
    END IF
END CATCH

 

例如:

BEGIN TRY
        BEGIN TRANSACTION
                PRINT
'In [SPMultiDataToUserInfo] Transactions: ' + Convert(varchar, @@TRANCOUNT);
               
-- SET NOCOUNT ON added to prevent extra result sets from
                -- interfering with SELECT statements.
                --SET NOCOUNT ON;

                -- Hard code inserted data.
               
INSERT INTO UserInfo VALUES('Cris', 1);
               
EXEC SPAddDataToUserInfo
                INSERT INTO UserInfo VALUES('Ada', 32);

       
COMMIT TRANSACTION

    END TRY
    BEGIN CATCH
        PRINT
'Error in [SPMultiDataToUserInfo]: ' + ERROR_MESSAGE();
       
IF (@@TRANCOUNT > 0)
           
ROLLBACK TRANSACTION
        PRINT
'Rolled back successful in SPMultiDataToUserInfo Transactions: ' + Convert(varchar, @@TRANCOUNT);
   
END CATCH
   
END

 

 

posted on 2011-12-12 09:45  钻石眼泪  阅读(298)  评论(0编辑  收藏  举报