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