Re: Trigger - Mailing list pgsql-general

From Feite Brekeveld
Subject Re: Trigger
Date
Msg-id 3B3C4231.862D1299@osiris-it.nl
Whole thread Raw
In response to Trigger  ("Andy Samuel" <andysamuel@geocities.com>)
Responses Re: Trigger
List 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 by date:

Previous
From: "Kapil Tilwani"
Date:
Subject: Linux
Next
From: "Kapil Tilwani"
Date:
Subject: