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: [email protected] > To: [email protected] > CC: [email protected] > 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) _________________________________________________________________
