我有两张表table1
和table2
。
table1
有三个条目 - id primary key
,fd foreign key(table2)
,val_t1
table2
有两个条目 - fd primary key
,val_t2
如果更新了val_t1
中任何行的table1
,它应该触发一个函数,其中fd
字段的对应值作为参数。应在触发器函数中使用此fd
来从val_t2
获取相应的table2
。
我已阅读TG_ARGV
但无法在触发器中使用它。
答案 0 :(得分:2)
您不需要参数,值在new
记录中,例如:
create or replace function trigger_on_table1()
returns trigger language plpgsql as $$
declare
val text;
begin
select val_t2 into val
from table2
where fd = new.fd;
raise notice '%', val;
return new;
end;
$$