J'ai dû changer le NEW
au ($1)
puisqu'il s'agit de la référence au premier paramètre lié.
La requête correcte est :
CREATE OR REPLACE FUNCTION "Site"."UpdateAncestorModified"()
RETURNS trigger AS
$BODY$BEGIN
EXECUTE
format
('
UPDATE
"' || TG_TABLE_SCHEMA || '"."' || TG_TABLE_NAME || '"
SET
modified = ($1).modified
WHERE
id = ($1)."ancestorId"
AND
modified <> ($1).modified
')
USING
NEW;
RETURN NEW;
END$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;