Re: Return unknown resultset from a function

From: Rory Campbell-Lange <rory(at)campbell-lange(dot)net>
To: Jan Meyland Andersen <jma(at)agile(dot)dk>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Return unknown resultset from a function
Date: 2012-03-04 20:58:09
Message-ID: 20120304205809.GA11451@campbell-lange.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 04/03/12, Rory Campbell-Lange (rory(at)campbell-lange(dot)net) wrote:
> On 04/03/12, Jan Meyland Andersen (jma(at)agile(dot)dk) 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(at)campbell-lange(dot)net

Campbell-Lange Workshop
www.campbell-lange.net
0207 6311 555
3 Tottenham Street London W1T 2AF
Registered in England No. 04551928

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Chris Angelico 2012-03-05 02:13:14 atoi-like function: is there a better way to do this?
Previous Message Rory Campbell-Lange 2012-03-04 20:43:15 Re: Return unknown resultset from a function