Re: triggers - Mailing list pgsql-novice

From Henshall, Stuart - WCP
Subject Re: triggers
Date
Msg-id E2870D8CE1CCD311BAF50008C71EDE8E01F74854@MAIL_EXCHANGE
Whole thread Raw
In response to triggers  ("paul butler" <polb@cableinet.co.uk>)
List pgsql-novice
> From: paul butler [mailto:polb@cableinet.co.uk]
>
>
>
> Dear list,
> Just starting out with postgresql, I've got a 18 table db
> listing info
> on organisations and on the main organisation table I've got an
> update column (timestamp), to keep a record of the last time
> information was updated for each organisation.
> Obviously I can do it on the client app, but I think table /row
> triggers might be a better solution
> is there a straight forward way of, on updating any of the
> organisation tables I can update the update column for that
> organisation?
>
> eg On update orgsubtable wher orgId = X
>     trigger update orgMainTable.timestamp Values(now()) where
> orgId = X
>
> TIA
>
> Paul Butler
>
I'd probably use an update rule to do this:
CREATE RULE example_rl AS ON UPDATE TO orgsubtable DO
    UPDATE orgmaintable SET tmstmp=now() WHERE orgid=OLD.orgid;

if both tables had orgid. You'll notice I changed the field name from
timestamp. timestamp is a datatype and (IIRC) a reserved word.
There is more information on triggers and rules in the manual
Hope this helps,
- Stuart

pgsql-novice by date:

Previous
From: "Joshua b. Jore"
Date:
Subject: Re: triggers
Next
From: John Taylor
Date:
Subject: performance problems with subselects