存储过程+事务

 1  --事务回滚:
 2 BEGIN TRAN TR;          
 3     BEGIN TRY    
 4     --代码
 5      COMMIT TRAN TR;     
 6     END TRY          
 7     BEGIN CATCH          
 8         ROLLBACK TRAN tr;          
 9         DECLARE @msg VARCHAR(200);          
10         SET @msg = '数据处理过程出现异常,错误代码:' + CONVERT(VARCHAR(10), ERROR_NUMBER())
11             + ', 错误信息:' + ERROR_MESSAGE();          
12         RAISERROR(@msg, 16, 1) WITH NOWAIT;          
13     END CATCH;          
14     QuitWithRollback:             
15     IF ( @@TRANCOUNT > 0 )    --未结束的事物个数 ,超时的时候没有执行到提交或回滚事物,这里判断下,然后进行回滚          
16         BEGIN              
17             ROLLBACK TRAN tr;          
18             RAISERROR('处理数据过程超时,连接中断,请检查网络是否畅通!', 16, 1) WITH NOWAIT;          
19           
20         END;

猜你喜欢

转载自www.cnblogs.com/JvYouQing/p/10290647.html