tsql触发器不回滚插入

时间:2016-04-20 22:17:32

标签: sql-server tsql triggers try-catch rollback

我的MS SQL Server数据库中有一个表(所谓的A),我在插入触发器后创建它​​,处理插入的数据并将一些列插入另一个表(让我们说B)。

到目前为止,它的效果非常好,但是当第二次插入(触发)到表B中时,我遇到了问题(例如,插入的值与完整性约束不一致)。在这种情况下,所有事务都将回滚,尤其是第一次插入表A。

我希望将值插入到表A中,即使第二个插入(进入表B)是错误的并且未完成。我已尝试使用TRY / CATCH块的多个版本,但在任何时候我的触发器都会抛出错误并且所有事务都会回滚。有没有办法解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试清理数据以满足INSERT到表B之前的完整性约束(即 - 作为WHERE EXISTS的一部分进行INSERT检查)