私は間違って表示されることに非常に熱心です(私も時々これが必要です)が、変数を使用して列名を参照することは、実際にPL/ではなくPL/Cトリガーを使用する必要があるケースの1つです。 PgSQLトリガー。このようなトリガーの例は、contrib/spiおよびPGXNにあります。
または、列に一貫して名前を付けて、直接参照できるようにします。 NEW.tenant_code
。
個人的には、私は通常、トリガーを作成する関数を作成することになります。
create function create_tg_stuff(_table regclass, _args[] text[])
returns void as $$
begin
-- explore pg_catalog a bit
execute $x$
create function $x$ || quote_ident(_table || '_tg_stuff') || $x$()
returns trigger as $t$
begin
-- more stuff
return new;
end;
$t$ language plpgsql;
$x$;
end;
$$ language plpgsql;