"Tom Lane" <[EMAIL PROTECTED]> writes:

> Gregory Stark <[EMAIL PROTECTED]> writes:
>> You're almost there:
>
>> CREATE FUNCTION getfoo (IN int, OUT int, OUT int) returns setof 
>> record(int,int) AS $$
>>   SELECT fooid, foosubid FROM foo WHERE fooid = $1;
>> $$ LANGUAGE SQL;
>
> Not quite --- it's just "returns setof record".  The output column types
> are defined by the OUT parameters.  The only reason you need the returns
> clause is to have a place to stick the "setof" specification ...

ok...

I did test my example before posting it:

postgres=# postgres=# CREATE or replace FUNCTION getfoo (IN int, OUT int, OUT 
int) returns setof record(int,int)AS $$
   SELECT 1,2 union all select 2,3;
$$ LANGUAGE SQL;

postgres$# postgres$# CREATE FUNCTION
postgres=# postgres=# select * from getfoo(1);
 column1 | column2 
---------+---------
       1 |       2
       2 |       3
(2 rows)
-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Ask me about EnterpriseDB's 24x7 Postgres support!

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to