存储过程间调用?

jwdream2008 2011-07-18 12:28:23
各位好:
在存储过程中执行其他存储过程,如何保证事务一致性?
比如,同服务器同数据库上有存储过程:Proc_A和Proc_B两个存储过程,在存储过程Proc_A中,执行 EXEC Proc_B.
如果在执行Proc_B中出现错误,如何让整个Proc_A的所有操作都回滚?
希望指导?
...全文
74 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
水族杰纶 2011-07-18
--try
create proc pro_b
as
set xact_abort on
begin tran
update...
insert ...
exec pro_a --执行pro_a
commit tran
  • 打赏
  • 举报
回复
水族杰纶 2011-07-18
[Quote=引用 3 楼 jwdream2008 的回复:]
引用 1 楼 acherat 的回复:
用显式事务控制!

我自己写的事务,begin tran ,但是Proc_A没回滚
[/Quote]
加上
set xact_abort on
没有
  • 打赏
  • 举报
回复
jwdream2008 2011-07-18
帮忙啊?
  • 打赏
  • 举报
回复
cd731107 2011-07-18
[Quote=引用 3 楼 jwdream2008 的回复:]
引用 1 楼 acherat 的回复:
用显式事务控制!

我自己写的事务,begin tran ,但是Proc_A没回滚
[/Quote]
难道和事务的嵌套是两回事?
  • 打赏
  • 举报
回复
cd731107 2011-07-18
应该不用控制,记得在事务嵌套中,一旦回滚则强制回到最初的第一层,
存贮过程调用存贮过程,相当于事务嵌套,应该是一个效果
  • 打赏
  • 举报
回复
jwdream2008 2011-07-18
[Quote=引用 1 楼 acherat 的回复:]
用显式事务控制!
[/Quote]
我自己写的事务,begin tran ,但是Proc_A没回滚
  • 打赏
  • 举报
回复
jwdream2008 2011-07-18
[Quote=引用 1 楼 acherat 的回复:]
用显式事务控制!
[/Quote]
给个示例?
  • 打赏
  • 举报
回复
AcHerat 2011-07-18
用显式事务控制!
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-07-18 12:28
社区公告
暂无公告