gpt4 book ai didi

postgresql - 如何检查删除是否由PostgreSQL触发器中的CASCADE引起

转载 作者:行者123 更新时间:2023-11-29 11:43:21 30 4
gpt4 key购买 nike

在PL/pgSQL触发器函数中,有没有办法知道删除是由级联删除操作调用的?
我在触发器函数中进行了大量检查,以查看是否允许删除,如果删除是从主表级联进行的,我不想执行这些检查。

最佳答案

我想不出一个内置的方法来检查它。
您可以改为检查主表中是否存在主行...

IF EXISTS (
SELECT 1
FROM master_table m
WHERE m.master_id = OLD.master_id) THEN

-- run checks

END IF;

如果是级联删除,主行应该已经消失了。

关于postgresql - 如何检查删除是否由PostgreSQL触发器中的CASCADE引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285658/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com