调试存储过程的问题

时间:2010-10-20 15:21:38

标签: sql sql-server tsql stored-procedures

有一个SP作为参数获得超过96项。 我想调试这个sp,我该怎么做?

它说:

  

EXECUTE之后的事务计数表示BEGIN和COMMIT语句的数量不匹配。先前的计数= 1,当前计数= 0。“   System.Data.Common.DbException {System.Data.SqlClient.SqlException}

请告诉我一种找到此错误的方法?我会提供更多详细信息,答案会更多......

2 个答案:

答案 0 :(得分:3)

此SP将正常运行:

BEGIN TRAN
...
COMMIT

但是这个:

BEGIN TRAN
...

或者这个:

...
COMMIT

不会!

答案 1 :(得分:2)

忘记参数的数量...开始浏览代码并将BEGIN条目计为+1和COMMIT条目为-1 ..当你到达计数为-1的地方时,你发现了错误。或者,如果你到达最后并且你的计数不是0,那就是你的错误。每个开始必须有一个提交。