SQL Server 在调用存储过程的时候报错,提示:
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements
看了网上好多人说是在BEGIN TRAN……END TRAN中使用return语句,导致后面的语句没能继续执行,这确实是一种可能。
但是我的存储过程里面没有return语句,找了半天发现其实是BEGIN TRAN……END TRAN中间的语句有问题,有个特殊字符没有处理,插入失败了,所有才报错,被错误提示误导了。
记录一下,以后发生这种问题,可以检查事务开始和提交前的语句是否能执行成功。