ALFONSO REYES escribió:

> PD.- Quiero hacer leer la variable refcursor que me debuelve una
> función dentro de otra ya que busque información sobre el tema y no
> encontre algun ejemplo practico si lo logro les envío como
> contrinución de todos los LISTEROS

create or replace function foo(int) returns refcursor language plpgsql as $$
declare
        r refcursor;
begin
        open r for select * from generate_series(1, $1);
        return r;
end;
$$;

create or replace function bar() returns setof int language plpgsql as $$
declare
        ref refcursor;
        rec record;
begin
        select foo(42) into ref;
        loop
                fetch 1 from ref into rec;
                if not found then
                        return;
                end if;
                if rec.generate_series % 7 = 2 then
                        continue;
                end if;
                return next rec.generate_series;
        end loop;
end
$$;


-- 
Alvaro Herrera                  http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)
--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a