首頁 >資料庫 >mysql教程 >sqlserver 中 raiserror 如何才能回滚 事务呢?

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-06-07 15:39:312301瀏覽

在子存储过程中,用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>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn