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 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq