From 478a890f376049dc985db706cd192e1d9f0b4423 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 26 Jul 2010 20:14:06 +0000 Subject: [PATCH] Add table creation and population to example from John Gage --- doc/src/sgml/xfunc.sgml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml index e728eb3064..a4dafa0c63 100644 --- a/doc/src/sgml/xfunc.sgml +++ b/doc/src/sgml/xfunc.sgml @@ -1,4 +1,4 @@ - + User-Defined Functions @@ -861,10 +861,23 @@ SELECT * FROM getfoo(1) AS t1; output parameters, like this: +CREATE TABLE tab (y int, z int); +INSERT INTO tab VALUES (1, 2), (3, 4), (5, 6), (7, 8); + CREATE FUNCTION sum_n_product_with_tab (x int, OUT sum int, OUT product int) -RETURNS SETOF record AS $$ +RETURNS SETOF record +AS $$ SELECT $1 + tab.y, $1 * tab.y FROM tab; $$ LANGUAGE SQL; + +SELECT * FROM sum_n_product_with_tab(10); + sum | product +-----+--------- + 11 | 10 + 13 | 30 + 15 | 50 + 17 | 70 +(4 rows) The key point here is that you must write RETURNS SETOF record -- 2.40.0