SQL SERVER 事务处理通用模板

本文提供了一个SQL Server事务处理的通用模板,并通过一个具体的示例来展示如何使用该模板进行数据操作,确保数据一致性。
-- =============================================
-- 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 钻石眼泪 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/huanghai223/archive/2011/12/12/2284436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值