求救Sqlserver,事务可以嵌套多少个事务,为什么

行走的沙漠骆驼 2013-05-13 09:29:05
如上,事务可以嵌套多少个事务,为什么
...全文
161 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
careyson 2013-05-14
  • 打赏
  • 举报
回复
那是假的。never do that reference:http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-2630-nested-transactions-are-real/
专注or全面 2013-05-13
  • 打赏
  • 举报
回复
理论上可以无限制嵌套 既然可以嵌套一层,没有理由不让嵌套2层…… 不知道,这个可以作为一个牛逼的面试题
铁歌 2013-05-13
  • 打赏
  • 举报
回复
@@TRANCOUNT 函数记录当前事务的嵌套级别。每个 BEGIN TRANSACTION 语句使 @@TRANCOUNT 增加 1。每个 COMMIT TRANSACTION 或 COMMIT WORK 语句使 @@TRANCOUNT 减去 1。没有事务名称的 ROLLBACK WORK 或 ROLLBACK TRANSACTION 语句将回滚所有嵌套事务,并使 @@TRANCOUNT 减小到 0。使用一组嵌套事务中最外部事务的事务名称的 ROLLBACK TRANSACTION 将回滚所有嵌套事务,并使 @@TRANCOUNT 减小到 0。在无法确定是否已经在事务中时,可以用 SELECT @@TRANCOUNT 确定 @@TRANCOUNT 是等于 1 还是大于 1。如果 @@TRANCOUNT 等于 0,则表明不在事务中。 begin tran select @@trancount-- +1 begin tran select @@trancount-- +2 commit select @@trancount-- +1 commit select @@trancount-- 0

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧