【发布时间】:2013-04-05 16:59:09
【问题描述】:
我的 sp 中有一个 try catch 块,在 try 中只有一个 insert 语句。如果是 pk 违规,则 catch 检查错误代码,如果是则进行更新。但有时我会得到“当前事务无法提交,并且无法支持写入日志文件的操作。回滚事务。
在批处理结束时检测到不可提交的事务。事务已回滚。”所以我添加了 xact_abort,但随后我不断收到“EXECUTE 后的事务计数表明 BEGIN 和 COMMIT 语句的数量不匹配。”我找到了这个。 http://www.ashishsheth.com/post/2009/08/14/Set-XACT_ABORT-ON-and-TryCatch-block-in-Sql-Server-2005.aspx
如果这是真的。如果打开 xact_abort 的 try 块中出现错误,我的 catch 代码会不会运行?
【问题讨论】:
标签: sql-server try-catch xact-abort