[英]Triggers in Postgres fired unexpectedly
我有一个父表和几个FK指向父表的子表。 我从父表中删除了一条记录,并且我注意到这会触发所有子表上的删除触发器,即使我要删除的父记录在这些子表中没有子记录。
我觉得这很奇怪。 但是我来自SQL Server,因此Postgres中的行为可能有所不同。
如果重要的话,我的触发器是语句级触发器。
有人可以解释一下,给我指出一些参考资料吗?
我现在没有发布任何代码。但是我认为对于一些在Postgres有更多经验的人来说,情况将是显而易见的。
无论受影响的记录数如何,都会触发语句级别触发器。 因此,即使不存在任何子记录,也会执行自动delete语句(假设FK on delete cascade
),因此将触发触发器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.