Thread

  1. 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
    
    
    
    
  2. 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).