在子存储过程中,用raiserror('msg',16,1)的方式弹出了一个自定义错误,
在父存储过程中可以显示错误,但是执行的时候没有回滚父级的事务,这个需要进行别的什么配置吗?
如果在子存储过程1中出错,会输出错误,但是不会回滚主存储过程。
1 begin tran 2 3 exec 子存储过程1 4 exec 子存储过程2 5 exec 子存储过程3 6 exec 子存储过程4 7 8 if @@error<>0 9 rollback tran 10 else 11 commit tran
利用Try Catch 捕获 Raiserror的错误。