[SQL server]存储过程事务

 

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

举个事务操作的简单例子。
posted @ 2005-11-02 10:24  横渡  阅读(2783)  评论(3编辑  收藏  举报