PostgreSQL中是否有像Oracles的“UPDATING,DELETING,INSERTING”函数一样的函数?
我希望有人能帮忙。 目前我正在使用PostgreSQL数据库,但我真的不知道如何解决我的问题。在PLSQL中,触发器中有操作,称为“INSERTING,UPDATING,DELETING”。但是,当涉及到PostgreSQL我baffered ...PostgreSQL中是否有像Oracles的“UPDATING,DELETING,INSERTING”函数一样的函数?
在Oracle我可以这样做:
v_action CHAR(1) := CASE WHEN INSERTING THEN "I" WHEN UPDATING THEN "U" WHEN DELETING THEN "D" END;
https://www.postgresql.org/docs/current/static/plpgsql-trigger.html
TG_OP Data type text; a string of INSERT, UPDATE, DELETE, or TRUNCATE telling for which operation the trigger was fired.
这应该做的伎俩:
v_action := CASE
WHEN TG_OP = 'INSERT' THEN 'I'
WHEN TG_OP = 'UPDATE' THEN 'U'
WHEN TG_OP = 'DELETE' THEN 'D'
END;
谢谢,这是我寻找的。但是,当触发器触发时,我得到以下错误:'错误:列'INSERT'不存在' – mortendegn
它在我的触发器中看起来像什么:'v_action CHAR(1):= CASE WHEN TG_OP =“INSERT”THEN“I”当TG_OP =“UPDATE”THEN“U”时TG_OP =“DELETE”THEN“D”END;' – mortendegn
单引号,而不是双引号。 –
您正在查看'TG_OP'?.. –