On 04/03/12, Rory Campbell-Lange (rory@xxxxxxxxxxxxxxxxxx) wrote: > On 04/03/12, Jan Meyland Andersen (jma@xxxxxxxx) wrote: > > My main problem is that I do not know how many columns or the data > > type of the columns before runtime. > > It this possible at all? > There is a section on this in the docs at (for instance) > http://www.postgresql.org/docs/8.4/static/xfunc-sql.html#XFUNC-OUTPUT-PARAMETERS > > A specific example which may help is > > CREATE FUNCTION new_emp() RETURNS emp AS $$ > SELECT ROW('None', 1000.0, 25, '(2,2)')::emp; > $$ LANGUAGE SQL; > > Note that there are two ways of calling such a function. You probably > want the "SELECT *" form. My apologies -- if you aren't sure about the return type you will need to use a RECORD. eg http://www.postgresql.org/docs/7.4/static/plpgsql-declarations.html#PLPGSQL-DECLARATION-RECORDS There is a good answer on stack overflow about returning polymorphic results here: http://stackoverflow.com/questions/4547672/how-to-return-multiple-fields-as-a-record-in-postgresql-pl-pgsql -- Rory Campbell-Lange rory@xxxxxxxxxxxxxxxxxx Campbell-Lange Workshop www.campbell-lange.net 0207 6311 555 3 Tottenham Street London W1T 2AF Registered in England No. 04551928 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general