我有一个触发器,每个表取决于列的值(id_op
更精确)在另一个表中插入,类似这样(来自entity
表的示例):
CREATE TRIGGER entity_delete_trigger AFTER DELETE ON entity
FOR EACH ROW
WHEN old.id_op IS NULL OR old.id_op <> -2
BEGIN
-- insert some info into another table
END
还有其他表通过FK引用entity
,并且所有表都有ON DELETE CASCADE
。这意味着如果我执行DELETE FROM entity
,所有引用entity
的表将级联此删除并执行AFTER DELETE
触发器。我的问题是在这种情况下,我无法通过级联来控制这些触发器。
显而易见的解决方案是首先正确更新引用此表的表中的所有行,但这看起来太昂贵了。有没有人对如何解决这个问题有更好的想法?提前谢谢。