Thread: Passing NEW to functions inside a trigger function...

Passing NEW to functions inside a trigger function...

From
Rich Cullingford
Date:
All,
I'm unable to find this question addressed in the archive, tho' it seems 
rather obvious. One often needs to dispatch on different subsets of the 
data in NEW inside a PLPGSQL trigger function. It would be most 
convenient to just pass NEW itself (or NEW.*) to the function thus 
called, but there doesn't seem to be any way to do that. Any use of NEW 
inside a function call imbedded in the trigger function, whether in a 
SELECT INTO, EXECUTE or PERFORM, leads to a:

ERROR:  NEW used in query that is not in a rule

(or sometimes "relation NEW not found.")

I've seen syntax for passing a row of data in ordinary functions, but 
not inside triggers.

Any enlightenment appreciated!                             Rich Cullingford
rculling@sysd.com