From: | Alex Mayrhofer <axelm-postgis(at)nona(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | comparing OLD and NEW in update trigger.. |
Date: | 2006-01-26 07:50:19 |
Message-ID: | 43D87F3B.4010003@nona.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi there,
i'm using the following trigger function to update a timestamp of a row when
it is UPDATEd:
CREATE OR REPLACE modified_trigger() RETURNS opaque AS $$
BEGIN
NEW.modify_timestamp := now();
END;
$$ LANGUAGE SQL;
Since i like to use the same trigger for various tables, i'm planning to
keep it very generic.
What i'd like to do now is to just update the modify_timestamp column if OLD
and NEW are different. I'd LOOP over the row elements, and compare each
column of OLD with NEW, and bailing out if there's a difference.
I'd appreciate your help on the following two questions:
- How can i get the column names of NEW/OLD? Is there a set returning
function for this?
- Is there a more efficient way to compare whole rows?
thanks,
Alex Mayrhofer
---
http://nona.net/features/map/
From | Date | Subject | |
---|---|---|---|
Next Message | Alex Mayrhofer | 2006-01-26 08:05:02 | comparing OLD and NEW in update trigger.. |
Previous Message | Agnes Bocchino | 2006-01-26 06:49:00 | Re: Initdb panic: invalid record offset at 0/0 creating |