Thread
-
using NEW in a trigger calling a function in plpgsql...
Creager, Robert S <creagrs@louisville.stortek.com> — 2001-03-22T01:24:15Z
Hey, 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... Thanks, Rob Robert Creager Senior Software Engineer Client Server Library 303.673.2365 V 303.661.5379 F 888.912.4458 P StorageTek INFORMATION made POWERFUL
-
Re: using NEW in a trigger calling a function in plpgsql...
Stephan Szabo <sszabo@megazone23.bigpanda.com> — 2001-03-22T01:56:02Z
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).