RE: Funcion para saber cuantas filas retorna una consulta

From: Fernandos Siguenza <fsigu(at)hotmail(dot)com>
To: <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Funcion para saber cuantas filas retorna una consulta
Date: 2009-08-13 18:04:57
Message-ID: SNT108-W57DDD8F945DA9DEC884B18A1050@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Estimado alvaro entonces, no es necesario tener creado un tipo de variable a retornar pueden ser simplemente variables individuales??.
Ahora una consulta mas alvaro como haces o en que programa pruebas la consulta y obtener estos resultados

> 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)

He probado en el pgadmin y no me sabia salir la respuesta como se ve en el correo sino como <Unamed port >

Saludos

> Date: Thu, 13 Aug 2009 13:54:00 -0400
> From: alvherre(at)alvh(dot)no-ip(dot)org
> To: fsigu(at)hotmail(dot)com
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Subject: Re: [pgsql-es-ayuda] Funcion para saber cuantas filas retorna una consulta
>
> 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 18:05:36 Re: Saludos
Previous Message Emanuel Calvo Franco 2009-08-13 17:59:29 Re: Funcion para saber cuantas filas retorna una consulta