Re: function with multiple return values

From: Scott Serr <serrs(at)theserrs(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: function with multiple return values
Date: 2010-11-07 18:35:47
Message-ID: 4CD6F183.4020706@theserrs.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11/07/2010 08:53 AM, Tom Lane wrote:
> Andreas Kretschmer<akretschmer(at)spamfence(dot)net> writes:
>> Scott Serr<serrs(at)theserrs(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2010-11-07 18:41:04 Re: function with multiple return values
Previous Message Alexander Farber 2010-11-07 18:05:23 Re: Finding rank of a single record