[sql server]存储过程事务

来源:互联网 发布:windows内存诊断工具 编辑:程序博客网 时间:2024/04/29 01:11
CREATE PROCEDURE testPro
AS
    /**//* ------- 事务开始 ---------- */
    BEGIN TRANSACTION tran_test

    /**//* -------- 保存事务 ----------*/
    SAVE TRANSACTION tran_test

        /**//* -------- 数据操作 ---------*/
        INSERT [table1] ( [content] ) VALUES ( '43332' )

    /**//*---------- 提交事务 ------------*/
    COMMIT TRANSACTION tran_test

    /**//*--------- 判断是否有错误 ----------*/
    IF ( @@ERROR <> 0 )
    BEGIN
        /**//*---------- 自定义错误输出 ----------*/
        RAISERROR( 'Insert data error!',16,1 )
        /**//*-------- 事务回滚 --------*/
        ROLLBACK TRANSACTION tran_test
    END
   
    /**//*------- 判断事务数是否大于0 -----------*/
    IF ( @@TRANCOUNT > 0 )
    BEGIN
        /**//*-------- 事务回滚 --------*/
        ROLLBACK TRANSACTION tran_test
    END
GO