Re: Funcion para saber cuantas filas retorna una consulta

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Fernandos Siguenza <fsigu(at)hotmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Funcion para saber cuantas filas retorna una consulta
Date: 2009-08-13 17:54:00
Message-ID: 20090813175400.GQ5909@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Fernandos Siguenza escribió:
>
> Si Alvaro pero como lo haria para hacer el return next, ya que en la
> tabla temporal creo los campos que necesito que salgan justo en el
> reporte como por ejem,plo el nombre de la agencias, el codigo, la
> cuenta, la descripcion etc etc etc, como podria manipular la columna
> del saldo, y como ingreso los registros de saldo anterior y de los
> totales, si me podiras ayudar te lo agradeceria muchisimo.

Una funcion con parametros OUT es mas o menos asi:

create or replace function func(a int, out nombre text, out b int, out c int)
returns setof record language plpgsql as $$
declare
r record;
begin
nombre = 'fijo';
b = 3;
c = 4;
return next;
for r in select val, val * 2 as val1, val! as val2 from generate_series(1, a) as val loop
nombre = r.val || ' del cursor';
b = r.val1;
c = r.val2;
return next;
end loop;
end;
$$;

alvherre=# select * from func(5);
nombre | b | c
--------------+----+-----
fijo | 3 | 4
1 del cursor | 2 | 1
2 del cursor | 4 | 2
3 del cursor | 6 | 6
4 del cursor | 8 | 24
5 del cursor | 10 | 120
(6 filas)

--
Alvaro Herrera http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"The West won the world not by the superiority of its ideas or values
or religion but rather by its superiority in applying organized violence.
Westerners often forget this fact, non-Westerners never do."
(Samuel P. Huntington)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-08-13 17:54:31 Re: PG Day Latino America 2009
Previous Message Fernandos Siguenza 2009-08-13 17:45:38 RE: Funcion para saber cuantas filas retorna una consulta