Re: Trigger
От | Feite Brekeveld |
---|---|
Тема | Re: Trigger |
Дата | |
Msg-id | 3B3C4231.862D1299@osiris-it.nl обсуждение исходный текст |
Ответ на | Trigger ("Andy Samuel" <andysamuel@geocities.com>) |
Ответы |
Re: Trigger
|
Список | 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.brekeveld@osiris-it.nl http://www.osiris-it.nl
В списке pgsql-general по дате отправления: