Re: Trigger (Calling a Procedure)

From: "Harpreet Dhaliwal" <harpreet(dot)dhaliwal01(at)gmail(dot)com>
To: "Michael Fuhr" <mike(at)fuhr(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Trigger (Calling a Procedure)
Date: 2006-08-16 06:43:07
Message-ID: d86a77ef0608152343w239a1c13j145c4c1a31250f9b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Its actually something like the trigger should start a C function after
insert and the C function has the ECPG code for some more inserts.
Its similar to the way we dynamically load a shared library while executing
a stored procedure, as in , executing a fucntion in C file using stored
procedure/ function.

Harpreet

On 8/16/06, Harpreet Dhaliwal <harpreet(dot)dhaliwal01(at)gmail(dot)com> wrote:
>
> I got your point.
> however, my requirement is something like this.
> The trigger shold start another function (a stored procedure) after any
> event is fired.
>
> how do I accomplish this goal?
>
> Harpreet
>
>
> On 8/16/06, Michael Fuhr <mike(at)fuhr(dot)org> wrote:
> >
> > On Wed, Aug 16, 2006 at 01:35:47AM -0400, Harpreet Dhaliwal wrote:
> > > I'm trying to create a trigger with the following definition:
> > >
> > > CREATE TRIGGER insert_price_change AFTER INSERT OR DELETE OR UPDATE ON
> > > raw_email
> > > FOR EACH ROW EXECUTE PROCEDURE add_one(1);
> > >
> > > Procedure / Function add_one has the following definition
> > >
> > > CREATE FUNCTION add_one(integer) RETURNS integer
> > > AS '/usr/local/pgsql/jsb/add_one', 'add_one'
> > > LANGUAGE C STRICT;
> > >
> > > function add_one is running fine.
> > >
> > > When I try to create the trigger insert_price_change, it throws me the
> >
> > > follwoing error:
> > >
> > > ERROR: function add_one() does not exist
> >
> > Trigger functions must return type "trigger" and they must be
> > declared with no arguments. You can pass an argument as in your
> > CREATE TRIGGER statement but a trigger function receives its arguments
> > differently than an ordinary function. See the Triggers chapter
> > in the documentation, especially "Writing Trigger Functions in C":
> >
> > http://www.postgresql.org/docs/8.1/interactive/triggers.html
> >
> > Unless you need to use C I'd suggest using PL/pgSQL. Even if you
> > do need to use C I'd recommend practicing with PL/pgSQL to learn
> > the basics with a simpler language.
> >
> > http://www.postgresql.org/docs/8.1/interactive/plpgsql-trigger.html
> >
> > --
> > Michael Fuhr
> >
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Harpreet Dhaliwal 2006-08-16 06:59:23 Re: [NOVICE] DB insert Error
Previous Message Harpreet Dhaliwal 2006-08-16 06:39:48 Re: [NOVICE] DB insert Error