PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Insertion de NEW.* à partir d'un déclencheur générique à l'aide de EXECUTE en PL/pgsql

Vous pouvez utiliser EXECUTE USING pour lui passer NEW. Votre exemple serait

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

(Notez que j'utilise TG_RELID converti en regclass au lieu de jouer avec TG_TABLE_SCHEMA et TABLE_NAME car il est plus facile à utiliser, s'il n'est pas standard. Mais plpgsql n'est de toute façon pas standard.)