sql >> Base de Datos >  >> RDS >> PostgreSQL

Insertar NUEVO.* desde un disparador genérico usando EJECUTAR en PL/pgsql

Puedes usar EXECUTE USING pasarle NUEVO. Tu ejemplo sería

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

(Tenga en cuenta que uso TG_RELID convertido a regclass en lugar de jugar con TG_TABLE_SCHEMA y TABLE_NAME porque es más fácil de usar, si no es estándar. Pero entonces, plpgsql no es estándar de todos modos).