SELECT @@TRANCOUNT
BEGIN TRAN T1
SELECT @@TRANCOUNT
BEGIN TRAN T2
SELECT @@TRANCOUNT
ROLLBACK TRAN T2
SELECT @@TRANCOUNT
ROLLBACK TRAN T1
SELECT @@TRANCOUNT
我想在@@ trancount上讨论一下。有5个@@ trancount。第一个值为0。第二个值为1.第三个值为2.在第四次计算之前,它遇到一个错误(因为没有回滚的保存检查点),所以值2将继续。高兴这我得到的逻辑。问题出现在最后@@ trancount,因为它应该也会遇到一个错误(根据我的一半知识),因为没有回滚保存点,因此它应该保留值2.但不是它将输出显示为0。请帮助我知道为什么最后一笔转帐是0而不是2。SQL Server事务计数
花点时间阅读帮助中心的[编辑帮助](http://stackoverflow.com/editing-help)。堆栈溢出的格式与其他站点不同。您的帖子看起来越好,用户就越容易帮助您。 –
您的脚本失败,ROLLBACK TRAN transaction_name必须引用最外面的事务名称,否则它将失败。 – Jaco