我想在 Postgres 中执行一个触发器,它将更新日志。当更新、插入或删除完成时,我的触发器将触发。
CREATE TRIGGER tr_usuario
BEFORE INSERT OR DELETE OR UPDATE
ON public.usuario
FOR EACH ROW
EXECUTE PROCEDURE public.actualizarlog();
由于我的触发器是由这三个操作中的任何一个触发的,因此我无法具体知道哪个操作触发了触发器,但在我的日志中我也想保存已执行的操作。 Postgres 中是否有任何定义的函数可以让我知道什么操作会触发触发器?
最佳答案
有一个特殊变量TG_OP
,它表示导致触发器触发的操作。它是一个字符串,分别为 INSERT
、UPDATE
、DELETE
或 TRUNCATE
。另请参阅:"42.10.1. Triggers on Data Changes"
关于postgresql - Postgres 中是否有任何已定义的函数可以让您知道什么操作会触发触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62501223/