我想在postgresql中将触发前的值传递给触发后的值,这可能吗?,我尝试了tg_argv,它从一个函数中获取值,但不完全是我所需要的,
我要完成的工作是,有一个Audit表,其中有两列old_rec,new_rec, 在更新前触发器中,我将用触发器表的old_rec填充审计表,并返回审计表的主键。现在,在更新后触发器中,我必须为审计表的同一主键填充new_rec,即我必须将在audit_table上生成的主键从触发器之前传递到触发器之后,
那么我可以灵活地更改设计(给定选项)(pgAUDIT,我不感兴趣的第三方工具) 请建议是否有更好的方法。
Before Trigger on ABC table
declare
l_id integer;
begin
insert into audit_table (old_rec) values(old.*) returning id into l_id;
end
after trigger on ABC table
declare
l_id integer;
begin
l_id = (somehow get the value generated in before trigger);
update audit_table set new_rec = new.* where id = l_id;
end