|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
2016/7/16 19:12:59 |
标题: |
|
加入我的收藏 |
楼主: |
各位:两个存储过程里都执行事务,结尾都是 COMMIT TRANSACTION endpro: return error: RAISERROR(@error_msg,16,-1) rollback transaction 并且都是执行中出错的话都是if @@error<>0 begin select @error_msg='失败!' goto error end 现在有个疑问:在同一应用程序中,如果第一个存储过程执行中出错,程序抛出了异常,操作员接着去执行第二个存储过程做了很多写入数据的操作 这时第一个存储过程回滚了 那第二个存储过程写入的数据都没有了 怎么避免这样的情况?
----------------------------------------------
- |
作者: |
bdl1 (bdl1) |
▲▲▲▲▲ |
-
|
普通会员 |
|
2016/7/17 10:56:11 |
1楼: |
既然出了异常,为什么还要允许执行第二个存储过程呢?
----------------------------------------------
-我的博客
|
作者: |
|
2016/7/17 15:07:06 |
2楼: |
用事务啥.
----------------------------------------------
-
|
作者: |
|
2016/7/17 17:41:39 |
3楼: |
是抛出了异常,但是用户不在意呀,他们点一下提示确定,就又去操作第二个去了,那就开始调用第二个存储过程了
----------------------------------------------
-
|
作者: |
|
2016/7/26 15:17:42 |
4楼: |
你这样做就不好
----------------------------------------------
我为人人为我
|
|