Milan Oparnica escribió:
> I've searched documentation (8.3) and didn't find a way to use OUT
> variables in same manner as SETOF (RETURN NEXT doesn't create a record
> type result).
>
> Can you please give an example of how to return select fld1, fld2 from
> table through OUT variables so the caller gets records ?
create function foo (a int, out b int, out c text) returns setof record language plpgsql as $$
begin
b = 2 * a;
c = 'dos por a';
return next;
b = 3 * a;
c = 'tres por a';
return next;
end; $$ ;
alvherre=# select * from foo(4); b | c
----+------------ 8 | dos por a
12 | tres por a
(2 filas)
I guess you should be able to do the same with cursor operations. I
haven't seen how you use refcursor in a plpgsql function.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.