我遇到的情况是,我们的数据库中有几十个不同的触发器,它们会触发将一条记录插入到数据库中的另一个(单个)表中。
我希望在测试我们的替换服务器时,有一些简单的方法可以在该单个表上设置一个触发器,以有效地忽略所有其他触发器。(而不是必须删除几十个触发器,然后在我们投入生产时重新启用它们)。
我希望能够将INSTEAD OF INSERT
触发器集用于什么都不做的函数,但您只能在视图上使用它们,而不是表。我尝试了一个BEFORE INSERT
名为 的触发器RAISE EXCEPTION
,但这会导致整个事务失败,因此对其他表的修改也会被拒绝。
是否有一些简单的方法可以忽略对该表的插入,或者我应该只是在AFTER INSERT
之后清除记录?
是的,使用 BEFORE INSERT 触发器,并返回 null。
现场示例在这里。