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