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
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 |