Re: using NEW in a trigger calling a function in plpgsql...
Stephan Szabo <sszabo@megazone23.bigpanda.com>
From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: "Creager, Robert S" <CreagRS@LOUISVILLE.STORTEK.COM>
Cc: "'General - PGSQL'" <pgsql-general@postgresql.org>
Date: 2001-03-22T01:56:02Z
Lists: pgsql-general
On Wed, 21 Mar 2001, Creager, Robert S wrote: > I'm attempting to create update/insert/delete triggers which end up relying > on two functions, add_influence and remove_influence (both plpgsql > functions). I've attempted to call these functions which accepts a known > table as a parameter, and am PERFORM'ing a call to that function with NEW as > the parameter. The error I receive is: ERROR: NEW used in non-rule query. > Can I accomplish this in plpgsql, or do I need to switch over to C/C++? I > would prefer to not re-select the data info another variable... Trigger functions take no arguments and return opaque. Inside the plpgsql trigger you should automatically get NEW as the appropriate row, you shouldn't need to pass it in (you can use NEW in the body of the functions).