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