我正在使用pgsql,我需要将我的mysql触发器转换为pgsql trigger.Pgsql查询已成功执行,但我无法查看输出。请帮助我。
答案 0 :(得分:1)
触发器代码看起来很好。我没有看到任何问题。设计触发器时,RAISE NOTICE
语句是您最好的朋友。经常出错是人为错误 - 你可以在错误的表上设置触发器,你可以尝试插入错误的表 - 通知显示所有都没问题。
postgres=> \sf func_trg
CREATE OR REPLACE FUNCTION public.func_trg()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
RAISE NOTICE 'func_trg: %', new;
RETURN new;
END;
$function$
postgres=> CREATE TRIGGER xxx AFTER INSERT ON foo_table
FOR EACH ROW EXECUTE PROCEDURE func_trg();
CREATE TRIGGER
postgres=> set client_min_messages to notice;
SET
postgres=> INSERT INTO foo_table VALUES(10,20);
NOTICE: func_trg: (10,20)
INSERT 0 1