dynamic table naming in function

From: Matthew Peter <survivedsushi(at)yahoo(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: dynamic table naming in function
Date: 2005-10-29 17:45:21
Message-ID: 20051029174521.89306.qmail@web35210.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Out of curiosity, I was wondering if it is possible to
use dynamic table names in a function? AND whether or
not you can test a value prior to insert to see
whether or not you want to update that column. Where
you could pass in the name of the table for it use ANY
name passed in rather than statically defining it.

I'll try an example of what I'm thinking;

CREATE OR REPLACE FUNCTION updatefoo(tbl_prefix
varchar, data mydata, myid bigint) RETURNS
boolean AS $$
DECLARE
BEGIN
update ${tbl_prefix}rest_of_table_name set
f1 = mydata.f1
IF LEN mydata.f2 THEN -- this possible? to
update f2 ONLY if it contains data?
,f2 = mydata.f2
END IF;
WHERE id = myid;

IF NOT FOUND THEN
return false;
END IF;
return true;
END
$$ LANGUAGE plpgsql;


__________________________________
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruno Wolff III 2005-10-29 18:14:08 Re: dynamic table naming in function
Previous Message Bruno Wolff III 2005-10-29 16:36:50 Re: difficulty formating interval datatypes in 7.4