在PL / pgSQL触发器函数中,有没有办法知道删除是通过级联删除操作调用的?
我在触发器函数中有一些检查,看看是否允许删除,如果删除是从主表级联的,我不想执行。
答案 0 :(得分:4)
我无法想出一种内置的检查方法 您可以而不是检查主表中是否存在主行...
IF EXISTS (
SELECT 1
FROM master_table m
WHERE m.master_id = OLD.master_id) THEN
-- run checks
END IF;
如果它是级联删除,则主行应该已经消失。