Hi,
Marc Mamin schrieb:
> how should I retrieve the result from a function with some OUT
> paramenters?
>
> (PG is 8.3.7)
>
> here a short example to illustrate my question:
>
> CREATE OR REPLACE FUNCTION test (In a int, OUT b int, OUT c int) AS
> $BODY$
> BEGIN
> b:=a+1;
> c:=a+2;
> raise notice 'done: %', a;
> END
>
> $BODY$
> LANGUAGE 'plpgsql' IMMUTABLE
IMO easiest would be to include a RETURNS SETOF record in the
function declaration and a return next; statement in the function
body. E.g.
CREATE OR REPLACE FUNCTION test (In a int, OUT b int, OUT c int)
RETURNS SETOF record
AS
$BODY$
BEGIN b:=a+1; c:=a+2; return next;
END
$BODY$ LANGUAGE 'plpgsql'
and then issue
SELECT * FROM test(1);
Ciao,
Thomas