Re: Trigger from a function

From: "dguevara" <dguevara(at)acceso(dot)com(dot)pe>
To: Decibel! <decibel(at)decibel(dot)org>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Trigger from a function
Date: 2008-02-21 23:49:40
Message-ID: 20080221234117.M29958@acceso.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Thanks for your response, i made a mistake, the last function is like this:

CREATE OR REPLACE FUNCTION Z
RETURNS "trigger" AS
$BODY$
begin
if (tg_op in ('INSERT', 'UPDATE', 'DELETE')) then
update B;
end if;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

And the reason why i made a fake example is because it basically is that, a simple function with a
simple update. I'd just like to know why if i do that update through a query it invokes the trigger
and not when i do it inside the function.

Danilo Guevara
Departamento de Sistemas
Acceso Crediticio SAC

---------- Original Message -----------
From: Decibel! <decibel(at)decibel(dot)org>
To: dguevara <dguevara(at)acceso(dot)com(dot)pe>
Cc: pgsql-admin(at)postgresql(dot)org
Sent: Thu, 21 Feb 2008 17:31:44 -0600
Subject: Re: [ADMIN] Trigger from a function

> On Feb 18, 2008, at 10:29 AM, dguevara wrote:
>
> > Hello all,
> >
> > I have a problem with a trigger which is executed when i make an
> > UPDATE trought a simple query, but
> > not when the UPDATE is made in a store procedure.
> >
> > Maybe i'm missing something in the declaration of the function and
> > i would appreciate any help.
> > T
> > his is the function:
> >
> > CREATE OR REPLACE FUNCTION X
> > RETURNS SETOF void AS
> > $BODY$
> >
> > begin
> > update A;
> > end;
> > $BODY$
> > LANGUAGE 'plpgsql' VOLATILE;
> >
> >
> > The trigger:
> >
> > CREATE TRIGGER Y
> > BEFORE INSERT OR UPDATE
> > ON A
> > FOR EACH ROW
> > EXECUTE PROCEDURE Z;
> >
> > CREATE OR REPLACE FUNCTION Z
> > RETURNS "trigger" AS
> > $BODY$
> > begin
> > if (tg_op in ('INSERT', 'UPDATE', 'DELETE')) then
> > update A;
> > end if;
> > $BODY$
> > LANGUAGE 'plpgsql' VOLATILE;
>
> Can't help much with your fake example, but I am wondering why you
> have a recursive trigger on A.
> --
> Decibel!, aka Jim C. Nasby, Database Architect decibel(at)decibel(dot)org
> Give your computer some brain candy! www.distributed.net Team #1828
------- End of Original Message -------

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Steve Holdoway 2008-02-22 00:26:17 Re: Power outage borked things (8.1.10)...
Previous Message Decibel! 2008-02-21 23:32:31 Re: Table was deleted but it still been treated as not