分类

链接

2016 年 3 月
 123456
78910111213
14151617181920
21222324252627
28293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > SQL Server > 正文
共享办公室出租
EXECUTE 后的事务计数指示缺少了 COMMIT 或
SQL Server 暂无评论 阅读(1,272)

commit transaction 没有对应的
begin transaction

请问下怎么修改?谢谢!初学者!

--------------------------------------

写法太复杂了,要看懂太费时间(而且你没有贴全)

如果2005+建议用try catch结构控制出错
游标尽量用语句代替
事务处理要清晰,不要到处放提交和回滚语句

以上是没看懂情况下的总体建议,这么长很难有时间看完的

--------------------------------------

你自己检查一下,一个begin tran会增加一个事务计数器,要有相同数量的commit与之对应,而rollback可以回滚全部计数器,你的错误提示是有两个begin tran而你只写了一个commit

--------------------------------------

引用 3 楼 Haiwer 的回复:

写法太复杂了,要看懂太费时间(而且你没有贴全)

如果2005+建议用try catch结构控制出错
游标尽量用语句代替
事务处理要清晰,不要到处放提交和回滚语句

以上是没看懂情况下的总体建议,这么长很难有时间看完的

你好,在if后再加else begin end 就出现上面的错误,是我语法错误吗?您给看下!这回我只贴出部分


最简单的解决办法,在最后检测@@TRANCOUNT 是不是0,如果不是,就做相应的提交或者是撤回处理即可。

错误的原因,一般有两种:
1.可能在事务中间出现return语句导致存储过程跳出,没有继续往下执行..
2.可能在事务开始到结束这中间出现sql语句的错误,或者其他。比如写错表名,写错sql语句等。

看lz代码应该是return造成的。
建议return在begin end 间。

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:EXECUTE 后的事务计数指示缺少了 COMMIT 或 | Bruce's Blog

发表评论

留言无头像?