sql—存储构成中try_catch+事物回滚。拷贝即用

 1 Create proc ProcName(
 2 --传入参数
 3 @parametername varchar(60),
 4 --输出参数
 5 @outflag varchar(1000) out
 6 )
 7 as
 8 BEGIN
 9     SET NOCOUNT ON;
10     BEGIN TRY---------------------开始捕捉异常
11        BEGIN TRAN------------------开始事务
12         print '逻辑程序'
13     COMMIT TRAN -------提交事务
14     END TRY-----------结束捕捉异常
15     BEGIN CATCH------------有异常被捕获
16         IF @@TRANCOUNT > 0---------------判断有没有事务
17         BEGIN
18             ROLLBACK TRAN----------回滚事务
19             set @outflag = '错误代码:'+convert(varchar(60),ERROR_NUMBER())+';错误描述:'+convert(nvarchar(2000),ERROR_MESSAGE())
20         END 
21         --INSERT INTO LogTable values(ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_PROCEDURE(), ERROR_LINE() ,ERROR_MESSAGE())
22     END CATCH--------结束异常处理
23 END

 

posted @ 2019-05-14 10:05  ZhiPeng007  阅读(382)  评论(0编辑  收藏  举报