Hola de nuevo, despues de algunas fiestas navideñas y mas trabajo pendiente por fin pude crear la funcion que me devolviera varios sets de datos, es un poco diferente a lo que Huesos52 me habia explicado pero el resultado es el que necesito, el codigo quedo asi:
Código:
CREATE OR REPLACE FUNCTION datos_generales()
RETURNS SETOF refcursor AS
$BODY$
DECLARE
carrerasRC refcursor;
especialidadesRC refcursor;
planesRC refcursor;
BEGIN
open carrerasRC FOR
SELECT * FROM dbo.carreras;
RETURN NEXT carrerasRC;
open especialidadesRC FOR
SELECT * FROM dbo.especialidades;
RETURN NEXT especialidadesRC;
open planesRC FOR
SELECT * FROM dbo.planes_estudio;
RETURN NEXT planesRC;
RETURN;
END;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
Un detalle importante a considerar es que si esta funcion se ejecuta desde pgAdmin regresara una columna con 3 filas que dicen <unnamed portal 1>
Sin embargo cuando se ejecuta desde C# (que es lo unico que he comprobado hasta el momento) el programa muestra correctamente los datos solicitados.
En esta pagina se encuentra una explicacion mas detallada de la situacion:
[URL]http://www.sqlines.com/postgresql/how-to/return_result_set_from_stored_procedure[/URL]
Con esto daria por cerrado este tema, nuevamente Gracias Huesos, la idea que me diste me oriento bastante