我有一系列数据库触发器,可以连续清理数据。数据从金融网站上删除,并通过批量插入插入。然后它会运行几个临时表,并最终进入我们的清洁数据"表。如果一排刮削数据形成良好,那么它沿着管道向下进行而没有任何问题。如果一行进入"清理数据"具有NULL值的表,然后由于NOT NULL约束而被正确拒绝,但整个事务(甚至是原始批量插入)都将被回滚。我如何"承诺"事务的每一步都将失败的填充写入错误表?
我尝试将最终的插入物放入干净的表中,然后尝试捕捉,但这并没有帮助。
答案 0 :(得分:1)
过滤最终插入内容,使其不会违反任何限制条件。
如果最终表中的列不能为NULL,请将WHERE ThatColumn IS NOT NULL
添加到INSERT..SELECT语句中。