欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sqlserver 中 raiserror 如何才能回滚 事务呢?

程序员文章站 2022-06-06 18:19:10
...

在子存储过程中,用raiserror('msg',16,1)的方式弹出了一个自定义错误, 在父存储过程中可以显示错误,但是执行的时候没有回滚父级的 事务 ,这个需要进行别的什么配置吗? 如果在子存储过程1中出错,会输出错误,但是不会回滚主存储过程。 1 begin tran 2 3

在子存储过程中,用raiserror('msg',16,1)的方式弹出了一个自定义错误,

在父存储过程中可以显示错误,但是执行的时候没有回滚父级的事务,这个需要进行别的什么配置吗?

如果在子存储过程1中出错,会输出错误,但是不会回滚主存储过程。

 1 begin tran
 2 
 3    exec 子存储过程1
 4    exec 子存储过程2
 5    exec 子存储过程3
 6    exec 子存储过程4
 7 
 8 if @@error0
 9     rollback tran
10 else
11      commit tran