Re: Trigger

From: Feite Brekeveld <feite(dot)brekeveld(at)osiris-it(dot)nl>
To: Andy Samuel <andysamuel(at)geocities(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Trigger
Date: 2001-06-29 08:54:09
Message-ID: 3B3C4231.862D1299@osiris-it.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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" ();

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

In response to

  • Trigger at 2001-06-29 05:38:53 from Andy Samuel

Responses

  • Re: Trigger at 2001-06-29 14:29:31 from Thalis A. Kalfigopoulos

Browse pgsql-general by date

  From Date Subject
Next Message Jan Poslusny 2001-06-29 08:55:36 unicode regular insensitive matching 2.
Previous Message John Clark Naldoza y Lopez 2001-06-29 08:52:13 Re: Linux