Re: function with multiple return values - Mailing list pgsql-general

From Scott Serr
Subject Re: function with multiple return values
Date
Msg-id 4CD6F183.4020706@theserrs.net
Whole thread Raw
In response to Re: function with multiple return values  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: function with multiple return values  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
On 11/07/2010 08:53 AM, Tom Lane wrote:
> Andreas Kretschmer<akretschmer@spamfence.net>  writes:
>> Scott Serr<serrs@theserrs.net>  wrote:
>>> Ideas on how to uniquely name the first and second set of "perc,
>>> entry_date"?
>> You can use alias-names for the 2 queries, like:
>> test=*# select foobar.a as x, foobar.b as y, bar.* from (select * from foo()) foobar, (select * from foo()) bar ;
> You don't really need the sub-selects: you can put aliases on functions
> in FROM.
>
>     select * from foo(...) as f1(a,b), foo(...) as f2(x,y);
>
>             regards, tom lane
>

Thanks Tom, Andreas, and Osvaldo...

I've found I really need these on the Select part rather than the From.

select otherstuff.*, foo(...) as f1(a,b), foo(...) as f2(x,y) from
otherstuff;
...won't work.  It says:
      subquery must return only one column

Funny thing is
    select (foo(...)).*, (foo(...)).*;
...works fine, just has duplicate column names, so they are hard to get at.

I modeled this after examples here
http://www.postgresonline.com/journal/index.php?/archives/129-Use-of-OUT-and-INOUT-Parameters.html

I really only want a single record back from my function, but the
multi-record return looked easier. I need some kind of control of how
the columns are named per call.

Maybe this isn't possible...  not alot of docs in this area.

Thanks,
Scott



pgsql-general by date:

Previous
From: Alexander Farber
Date:
Subject: Re: Finding rank of a single record
Next
From: Pavel Stehule
Date:
Subject: Re: function with multiple return values