Musiałem zmienić NEW
do ($1)
ponieważ jest to odniesienie do pierwszego powiązanego parametru.
Prawidłowe zapytanie to:
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;