PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Inserindo NEW.* de um trigger genérico usando EXECUTE em PL/pgsql


Você pode usar EXECUTE USING para passar NOVO para ele. Seu exemplo seria
EXECUTE 'INSERT INTO ' || TG_RELID || '::regclass SELECT $1' USING NEW;

(Observe que eu uso TG_RELID convertido para regclass em vez de mexer com TG_TABLE_SCHEMA e TABLE_NAME porque é mais fácil de usar, se não for padrão. Mas, então, o plpgsql não é padrão de qualquer maneira.)