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