提交触发器的每个部分

时间:2018-02-23 18:54:15

标签: sql sql-server

我有一系列数据库触发器,可以连续清理数据。数据从金融网站上删除,并通过批量插入插入。然后它会运行几个临时表,并最终进入我们的清洁数据"表。如果一排刮削数据形成良好,那么它沿着管道向下进行而没有任何问题。如果一行进入"清理数据"具有NULL值的表,然后由于NOT NULL约束而被正确拒绝,但整个事务(甚至是原始批量插入)都将被回滚。我如何"承诺"事务的每一步都将失败的填充写入错误表?

我尝试将最终的插入物放入干净的表中,然后尝试捕捉,但这并没有帮助。

1 个答案:

答案 0 :(得分:1)

过滤最终插入内容,使其不会违反任何限制条件。

如果最终表中的列不能为NULL,请将WHERE ThatColumn IS NOT NULL添加到INSERT..SELECT语句中。