传递参数以在postgresql中触发函数

时间:2016-11-09 11:19:07

标签: php postgresql triggers

我有两张表table1table2

table1有三个条目 - id primary keyfd foreign key(table2)val_t1

table2有两个条目 - fd primary keyval_t2

如果更新了val_t1中任何行的table1,它应该触发一个函数,其中fd字段的对应值作为参数。应在触发器函数中使用此fd来从val_t2获取相应的table2

我已阅读TG_ARGV但无法在触发器中使用它。

1 个答案:

答案 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;
$$