Passing Arguments to a trigger function(Problem) - Mailing list pgsql-novice

From Jasbinder Bali
Subject Passing Arguments to a trigger function(Problem)
Date
Msg-id a47902760608221048s6ffc3a8fy3650a68b187dfcc1@mail.gmail.com
Whole thread Raw
Responses Re: Passing Arguments to a trigger function(Problem)  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-novice
Hi,
I have a scenario in which I need to pass arguments to a trigger function.
The scenario is as follows:

I have a raw_email table.

A  trigger is written after every insert for each row.
Trigger function calls another procedure (SP_parse_email) internally.

Now, SP_parse_email needs 2 arguments (id, raw_email) that comes from the newly inserted row in the raw_email table.

This means, i need to propogate new.id and new.raw_email fields newly inserted in the raw_email table.

For this purpose, i write my trigger function as follows:

-------------------------------------------------------

CREATE OR REPLACE FUNCTION new_trigger_func()
  RETURNS "trigger" AS
$BODY$
BEGIN
   PERFORM sp_parse_email(TG_ARGV[0], TG_ARGV[1]);
   RETURN NEW;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION new_trigger_func() OWNER TO postgres;

-------------------------------------------------------


I run it and works fine.

Now, I write my trigger as follows:

------------------------------------------------------------------------
CREATE TRIGGER new_test_trigger
  AFTER INSERT
  ON raw_email
  FOR EACH ROW
  EXECUTE PROCEDURE new_trigger_func(NEW.id);
------------------------------------------------------------------------


Running this script gives me the following error:

ERROR:  syntax error at or near "NEW" at character 115


Don't know what is the correct way to do this.

Thanks and regards,
~Jas

pgsql-novice by date:

Previous
From: Srinivas Iyyer
Date:
Subject: problem with single quote : '
Next
From: Brian Hurt
Date:
Subject: Re: problem with single quote : '