Silvio, gracias por responder, pero me estas respondiendo mi ultima consulta.
En tu ejemplo, lo que necesito es desarrollar function(), que sea capaz de devolver la tabla que me comentas. La funcion debe devolver campos cuyos valores pueda cargar a mano. Ej Declare Reg my_type; Begin For c1 in (select 1 as codigo, 'algo' as desc union select 2 as codigo, 'otro algo' as desc) loop Reg.codigo := c1.codigo; Reg.descripcion:= c1.desc; Return next reg; End loop; --EN ESTA MISMA FUNCTION Reg.codigo := 999; Reg.descripcion:= 'desc inventada'; Return next reg; End; -----Mensaje original----- De: Silvio Quadri [mailto:silv...@gmail.com] Enviado el: Lunes, 23 de Febrero de 2009 11:50 a.m. Para: Conrado Blasetti CC: Calabaza; pgsql-es-ayuda@postgresql.org Asunto: Re: [pgsql-es-ayuda] Function que retorna una tabla El día 23 de febrero de 2009 11:27, Conrado Blasetti <conr...@mapfre.com.ar> escribió: > Bien, tomado en cuenta, lo que pasa, es que me resisto a pensar que no se > puede, en Oracle select * from table( function() ), desde function, hacía lo > que necesito, pero bien, será cuestión de adaptación! > > Gracias Sí que se puede Solo con ... select * from function() en el caso que function() devuelva una tabla es suficiente. Si querés joinear ... select * from function() a, tabla b where a.campo1 = b.campo1 funciona Si querés recorrer function() en una sp y cambiar datos, sólo necesitás hacer ... for rresultado in select * from function loop rresultado.campo1 = f_cualquiera1(); rresultado.campo2 = f_cualquiera2(); rresultado.campo3 = f_cualquiera3(); return next rresultado; end loop; y listo ... Lamentablemente, perdí el hilo de cómo venía la conversación, pero me parece que lo que te estoy respondiendo es suficiente. Saludos! Silvio -- TIP 2: puedes desuscribirte de todas las listas simultáneamente (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)