PostgreSQL 9.4.1,不要在级联删除中调用触发器

时间:2018-09-04 15:48:35

标签: postgresql triggers

我有一个触发器“在my_table上删除之前”。 表“ my_table”在“ main_table”上包含FK,在层叠时删除。

如何在不调用触发器的情况下删除“ main_table”中的某些行?

1 个答案:

答案 0 :(得分:0)

最好的方法是运行

BEGIN;
ALTER TABLE my_table DISABLE TRIGGER before_del_trig;
DELETE FROM main_table;
ALTER TABLE my_table ENABLE TRIGGER before_del_trig;
COMMIT;

这样,禁用的触发器不会影响其他任何事务。