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.brekeveld@osiris-it.nl
http://www.osiris-it.nl