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? Algo como esto: Utilizando cursor: CREATE OR REPLACE FUNCTION public.fun_listar_escuela ( ) RETURNS pg_catalog.refcursor AS $body$ DECLARE cursor_salida refcursor; BEGIN open cursor_salida FOR SELECT * FROM escuela; RETURN cursor_salida; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100; Utilizando record: 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 FOR tmp IN SELECT * FROM escuela Loop id_escuela = tmp.id_escuela; nombre = tmp.nombre; escuela_relacionada = tmp.escuela_relacionada; RETURN NEXT; END Loop; RETURN; END; $body$ LANGUAGE 'plpgsql'; Atento a sus recomendaciones. Saludos. 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