Alvaro muchas gracias por tu respusta, ahora te pregunto, si en vez de retornar los valores de la consulta utilizando un For Loop, lo hago utilizando un RETURN QUERY obtendría alguna ventaja, o sucedería lo mismo que si realizo un For Loop, me refiero a si con esta otra via también hay que crear un tuplestore con el resultado. (El tuplestore es la variable que se recorre en el ciclo no??)
La consulta quedaría de esta forma: CREATE OR REPLACE FUNCTION public.fun_listar_escuela ( out id_escuela integer, out nombre varchar, out escuela_relacionada integer ) RETURNS SETOF record AS $body$ DECLARE tmp record; BEGIN RETURN QUERY SELECT escuela.id_escuela, escuela.nombre, escuela.escuela_relacionada FROM escuela; END; $body$ LANGUAGE 'plpgsql'; Atento a tus recomendaciones. Saludos. ________________________________________ From: Alvaro Herrera [alvhe...@alvh.no-ip.org] Sent: Wednesday, July 04, 2012 11:31 PM To: Lazáro Rubén García Martínez Cc: Ayuda Subject: Re: [pgsql-es-ayuda] Duda entre refcursor y record Excerpts from lgarciam's message of mié jul 04 19:24:14 -0400 2012: > Hola a todos en la lista, necesito desarrollar un conjunto de funciones que > serán ejecutadas desde PHP. Mi duda es la siguiente. > > Para retornar un conjunto de datos, que debería ser más óptimo, utilizar un > refcursor, o utilizar variables de salida (OUT) y retornar el resultado > dentro de un For Loop? Depende de si quien llama a la función leerá todo el resultado o sólo una parte. Si es sólo una parte, el refcursor gana porque no ejecuta toda la consulta sino sólo la parte que es leída. Si lo lee todo, igual gana el refcursor, porque de la otra manera hay que crear un tuplestore con el resultado. Pero desde el punto de vista de la mantenabilidad (¿? sorry, es tarde), la variables OUT son mucho más claras en el código de la aplicación que leer desde un cursor. -- Álvaro Herrera <alvhe...@alvh.no-ip.org> Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU! http://www.antiterroristas.cu http://justiciaparaloscinco.wordpress.com Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU! http://www.antiterroristas.cu http://justiciaparaloscinco.wordpress.com - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda