Generic timestamp function for updates where field names vary

From: novnov <novnovice(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Generic timestamp function for updates where field names vary
Date: 2006-12-30 18:33:01
Message-ID: 8100353.post@talk.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


The pagila database has generic trigger function called last_updated() (shown
below) which is used to update timestamp columns in various tables. The
reason I can't use the function 'as is' for my own purposes is that in my
app the timestamp fields are not all named alike. The field names do follow
a pattern, two example names would be "user_datem "and "item_datem". I know
I could change my db so that all these timestamp fields are named "datem",
but I'd prefer to keep the names distinct, and of course I don't want to
create a tigger funtion for each table. Using the pagila trigger function as
a starting point, can someone suggest a solution? I am pretty sure that a
simple solution would be to pass in the prefix value, and concatenate with
the common "_datem". Or is there a better solution? I will give the
approach I've outlined a try, but I'm not even sure it's doable (primarliy,
using the contatenated field name inplace of the "last-update" in
"NEW.last_update = CURRENT_TIMESTAMP;", that's just stuff I've not done in
plpgsql)...I'm all thumbs with plpgsql syntax, so anyone that wants to lay a
solution down would be helping out a lot.

>From pagila:
CREATE or REPLACE FUNCTION "public"."last_updated"()
RETURNS "pg_catalog"."trigger" AS
$BODY$
BEGIN
NEW.last_update = CURRENT_TIMESTAMP;
RETURN NEW;
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
--
View this message in context: http://www.nabble.com/Generic-timestamp-function-for-updates-where-field-names-vary-tf2899327.html#a8100353
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Seneca Cunningham 2006-12-30 18:53:58 Re: OS X Tiger, and PostgreSQL 8.2 don't mix?
Previous Message Ragnar 2006-12-30 16:52:46 Re: could not open relation:no such file or directory