Alvaro Herrera wrote:
> Bruce Momjian wrote:
>
> > --- 132,142 ----
> > </para>
> >
> > <para>
> > ! <application>PL/pgSQL</> functions can also be declared to return a
> > ! group of values, either as a single row, or a group of rows, like a
> > ! table. Such a function generates its output by executing
> > ! <command>RETURN NEXT</> for each desired element of the result set,
> > ! or by using <command>RETURN QUERY</> to output the result of
> > evaluating a query.
> > </para>
>
> Hmm, ISTM the correct terminology is "set of rows". I have never heard
> of "a group of rows". It seems to me the easiest way out of the problem
> would have been substituting the commas in the original with parens:
>
> <application>PL/pgSQL</> functions can also be declared to return
> a <quote>set</> (or <quote>table</>) of any data type they can return a single
> instance of.
>
> The point of "any datatype they can return a single instance of" is that
> this can be a set of scalar values (e.g. "RETURNS SETOF int") or of a
> complex type ("RETURNS SETOF table"), or anything else they can return a
> single instance of :-P (SETOF anyelement? SETOF table%TYPE?)
Good idea, updated:
<application>PL/pgSQL</> functions can also be declared to return
a <quote>set</> (or table) of any data type that can be returned as
a single instance. Such a function generates its output by executing
<command>RETURN NEXT</> for each desired element of the result
set, or by using <command>RETURN QUERY</> to output the result of
evaluating a query.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +