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