现在位置:
首页 > SQL Server > 正文
EXECUTE 后的事务计数指示缺少了 COMMIT 或
请问下怎么修改?谢谢!初学者!
--------------------------------------
写法太复杂了,要看懂太费时间(而且你没有贴全)
如果2005+建议用try catch结构控制出错
游标尽量用语句代替
事务处理要清晰,不要到处放提交和回滚语句
以上是没看懂情况下的总体建议,这么长很难有时间看完的
--------------------------------------
你自己检查一下,一个begin tran会增加一个事务计数器,要有相同数量的commit与之对应,而rollback可以回滚全部计数器,你的错误提示是有两个begin tran而你只写了一个commit
--------------------------------------
你好,在if后再加else begin end 就出现上面的错误,是我语法错误吗?您给看下!这回我只贴出部分
最简单的解决办法,在最后检测@@TRANCOUNT 是不是0,如果不是,就做相应的提交或者是撤回处理即可。
错误的原因,一般有两种:
1.可能在事务中间出现return语句导致存储过程跳出,没有继续往下执行..
2.可能在事务开始到结束这中间出现sql语句的错误,或者其他。比如写错表名,写错sql语句等。
看lz代码应该是return造成的。
建议return在begin end 间。