Yudelsy Castellón García escribió:

> He buscado en internet y he visto que en el return de la función ponen 
> un SETOF de la tabla que se devuelve y en otros casos ponen un record. 
> En mi caso no puedo poner un SETOF de una tabla específica porque se 
> consultan varias y si pongo que devuelva un record entonces en la 
> llamada de la función hay que ponerlo de la forma select * from 
> nombre_funcion() as variable(aqui hay que especificar todas las columnas 
> que devuelve la funcion), pero el problema es que no puedo especificar 
> las columnas porque la consulta devuelve resultados donde la cantidad de 
> columnas es variable porque es un reporte dinámico.

Hmm, normalmente no es buen diseño tener una función que devuelve
resultados de distinto número/tipo de columnas.  Te aconsejaría
revisitar esa decisión, y tener una función para cada distinto tipo de
resultado que vayas a tener.  Si insistes, lo que puedes hacer es una
función que retorne un "refcursor", al cual tu aplicación le hace FETCH.
Puedes encontrar ejemplos en los archivos de esta lista.

-- 
Alvaro Herrera       Vendo parcela en Valdivia:
http://www.portalinmobiliario.com/propiedades/fichas.asp?PropID=749682
"No hay hombre que no aspire a la plenitud, es decir,
la suma de experiencias de que un hombre es capaz"
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a