Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-general by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group