Обсуждение: Can a function return a record set?

Поиск
Список
Период
Сортировка

Can a function return a record set?

От
"John Taves"
Дата:
Am I correct in concluding that I can't return a record set from a function?

For example, in MS SQL I would do:

create procedure foo as
select * from yada

I expected to be able to do the following in postgresql.

create function foo (integer) returns (integer) as '
begin
select * from yada;
end; '
language 'plpgsql';

I am concluding that I can't.

jt





Re: Can a function return a record set?

От
Jie Liang
Дата:
in plpgsql
you've to use
select field into a_variable from table where ...(single value return)
or 
for record|row in select fields from table loop
...
end loop;


Jie LIANG

St. Bernard Software
Internet Products Inc.

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

jliang@ipinc.com
www.stbernard.com
www.ipinc.com

On Sat, 17 Feb 2001, John Taves wrote:

> Am I correct in concluding that I can't return a record set from a function?
> 
> For example, in MS SQL I would do:
> 
> create procedure foo as
> select * from yada
> 
> I expected to be able to do the following in postgresql.
> 
> create function foo (integer) returns (integer) as '
> begin
> select * from yada;
> end; '
> language 'plpgsql';
> 
> I am concluding that I can't.
> 
> jt
> 
> 
> 



Re: Can a function return a record set?

От
"Josh Berkus"
Дата:
Mr. Taves,

> Am I correct in concluding that I can't return a record
> set from a function?
> 
> For example, in MS SQL I would do:
> 
> create procedure foo as
> select * from yada
> 
> I expected to be able to do the following in postgresql.
> 
> create function foo (integer) returns (integer) as '
> begin
> select * from yada;
> end; '
> language 'plpgsql';
> 
> I am concluding that I can't.

You are correct.  Stored procedures that return rowsets are
in the "wish list" for 7.2 or 8.0 ... but not in the current
development version.  Please browse the archives (about 1-2
months ago) for my suggested workaround for the time being.

-Josh Berkus

______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco