Re: Trigger

From: "Thalis A(dot) Kalfigopoulos" <thalis(at)cs(dot)pitt(dot)edu>
To: Feite Brekeveld <feite(dot)brekeveld(at)osiris-it(dot)nl>
Cc: Andy Samuel <andysamuel(at)geocities(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Trigger
Date: 2001-06-29 14:29:31
Message-ID: Pine.LNX.4.21.0106291024470.32402-100000@aluminum.cs.pitt.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 29 Jun 2001, Feite Brekeveld wrote:

> Andy Samuel wrote:
>
> > How do I create a trigger on a table if a certain row is updated ?
> > For example, a table called DefaultValue with :
> > ModuleId char(10),
> > FieldId char(10),
> > DefVal char(3)
> >
> > If I update the table 'update DefaultValue set defval='OFF' where
> > FieldId='MODULESTATUS' then it will fire the event.
>
> Here is an example of one I use
>
> CREATE FUNCTION "update_seqno" ( ) RETURNS opaque AS '
> BEGIN
> new.seqno = nextval(''cdrseqno'');
> new.status = ''U'';
> return new;
> END;' LANGUAGE 'plpgsql';
>
> CREATE TRIGGER "updseq_no" BEFORE INSERT ON "accounting" FOR EACH ROW
> EXECUTE PROCEDURE "update_seqno" ();

You don't have to use a trigger in your case. You could instead just set the default values for the fields that the trigger fills in. Since you didn't do it upon table creation, use ALTER TABLE to do it now and save on the trigger time.

cheers,
thalis

>
> seqno and status are attributes of the accounting-table that do not get set
> by the insert statement I use, so the trigger provides the sequence number
> from the defined sequence 'cdrseqno' and sets a default status on it.
>
> You can define triggers on [ BEFORE/AFTER ] [ INSERT/DELETE/UPDATE ] .
> This all is documented in the docs that come with PostgreSQL. Pay attention
> to the double ' when you create functions/triggers.
>
> Regards,
>
> Feite
>
> >
> >
> > Thank you in advance
> > Andy
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
>
> --
> Feite Brekeveld
> feite(dot)brekeveld(at)osiris-it(dot)nl
> http://www.osiris-it.nl
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>

In response to

  • Re: Trigger at 2001-06-29 08:54:09 from Feite Brekeveld

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2001-06-29 14:44:52 Re: I: Help with indexes/queries/msaccess
Previous Message Jeff Eckermann 2001-06-29 14:29:27 RE: Trigger