首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储过程中的Server嵌套事务

存储过程中的Server嵌套事务
EN

Stack Overflow用户
提问于 2017-06-05 02:25:10
回答 1查看 2.4K关注 0票数 2

我使用的是SQL Server 2014;我的存储过程将是嵌套事务过程,它将调用很少有事务的存储过程。如果任何一个内部存储过程都遇到错误,则将回滚所有,如

代码语言:javascript
复制
Begin Try
Begin Tran
   Exec Stored Proc 1 (with begin tran inside)
   Exec Stored Proc 2 (with begin tran inside)
   Exec Stored Proc 3 (with begin tran inside)
   Exec Stored Proc 4 (with begin tran inside)
   Exec Stored Proc 5 (with begin tran inside)   
Commit Tran
End Try
Begin Catch
   Catch exception then roll back tran
End Catch

问题是执行内部存储过程后的事务计数不匹配,但是如果我没有在内部存储过程中打开事务,它就不会回滚。有人能给我一些建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-05 04:18:53

SQL Server数据库引擎忽略提交内部事务。事务是根据在最外层事务结束时采取的操作提交或回滚的。如果提交了外部事务,则内部嵌套事务也将提交。

嵌套事务

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44360877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档