PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Inserimento di NEW.* da un trigger generico utilizzando EXECUTE in PL/pgsql

Puoi usare EXECUTE USING per passare NUOVO ad esso. Il tuo esempio sarebbe

EXECUTE 'INSERT INTO ' || TG_RELID || '::regclass SELECT $1' USING NEW;

(Nota che uso TG_RELID castato su regclass invece di giocherellare con TG_TABLE_SCHEMA e TABLE_NAME perché è più facile da usare, se non standard. Ma poi, plpgsql non è comunque standard.)