mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
Add an example of a SQL function with output parameters returning
multiple rows. I had thought this case was covered, but there was no example in the obvious section to look in.
This commit is contained in:
parent
2b477a2c73
commit
c6722d7211
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.129 2007/06/26 22:05:04 tgl Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.130 2007/11/10 20:14:36 tgl Exp $ -->
|
||||
|
||||
<sect1 id="xfunc">
|
||||
<title>User-Defined Functions</title>
|
||||
@ -661,6 +661,22 @@ SELECT * FROM getfoo(1) AS t1;
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It is also possible to return multiple rows with the columns defined by
|
||||
output parameters, like this:
|
||||
|
||||
<programlisting>
|
||||
CREATE FUNCTION sum_n_product_with_tab (x int, OUT sum int, OUT product int) RETURNS SETOF record AS $$
|
||||
SELECT x + tab.y, x * tab.y FROM tab;
|
||||
$$ LANGUAGE SQL;
|
||||
</programlisting>
|
||||
|
||||
The key point here is that you must write <literal>RETURNS SETOF record</>
|
||||
to indicate that the function returns multiple rows instead of just one.
|
||||
If there is only one output parameter, write that parameter's type
|
||||
instead of <type>record</>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Currently, functions returning sets can also be called in the select list
|
||||
of a query. For each row that the query
|
||||
|
Loading…
Reference in New Issue
Block a user