[英]Commit and Rollback is not working in stored procedure
我从我发布的问题中得到了我的一个问题的答案点击这里
我有这个解决方案
BEGIN TRY
BEGIN TRANSACTION
exec( @sqlHeader)
exec(@sqlTotals)
exec(@sqlLine)
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 1
ROLLBACK
END CATCH
获得解决方案后,我面临一个新问题,即存储过程执行时它第一次运行良好,此后出现以下错误
EXECUTE之后的事务计数指示BEGIN和COMMIT语句的数量不匹配。 先前计数= 1,当前计数= 0。
我需要你的帮助。
谢谢
因为代码中有错误,所以发生了错误,并且没有发生回滚。 回滚及其检查应为:
IF @@TRANCOUNT > 0
ROLLBACK
END CATCH
提交后,@@ TRANCOUNT将为零。 如果发生错误,则@@ TRANCOUNT将为1。在原始代码中,它不会触发回滚,但应该触发回滚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.