SQL Server 在触发器中引发错误“触发器中的事务注定要失败。批处理已中止。”

Posted

技术标签:

【中文标题】SQL Server 在触发器中引发错误“触发器中的事务注定要失败。批处理已中止。”【英文标题】:SQL Server throws error in trigger "Transaction doomed in trigger. Batch has been aborted." 【发布时间】:2012-11-27 07:36:53 【问题描述】:
insert into tuseractivitytrack (TrackIndustryId,tracktype) values(null,'news')

当我在列中插入空值时,它现在给出错误我所做的我已经将子字符串的代码放在 try catch 块中,但是如果生成错误,它仍然会生成错误并且行不会被插入

【问题讨论】:

如果触发器出现错误,我们几乎肯定需要查看触发器中的代码 【参考方案1】:

您需要在触发器中使用保存点而不是事务。能否提供代码

http://msdn.microsoft.com/en-us/library/ms187844(v=SQL.90).aspx

TSQL: Try-Catch Transaction in Trigger

【讨论】:

以上是关于SQL Server 在触发器中引发错误“触发器中的事务注定要失败。批处理已中止。”的主要内容,如果未能解决你的问题,请参考以下文章

引发错误在 MySQL 触发器中不起作用

引发错误,防止 MySQL 触发器中的表更新

sql 检测更新触发器中修改的字段(sql server 2005)?

在 SQL Server 中获取触发器的调用者

在 SQL Server 触发器中处理多行

如何在 SQL Server 触发器函数中获取表名? [关闭]