> 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