Skip site navigation (1) Skip section navigation (2)

Re: duda sobre devolver set de resultados en funcion

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Yudelsy Castellón García <yude(at)cav(dot)desoft(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: duda sobre devolver set de resultados en funcion
Date: 2009-12-30 14:38:57
Message-ID: 20091230143857.GB3662@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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"

In response to

pgsql-es-ayuda by date

Next:From: Teofilo CopaDate: 2009-12-30 15:03:46
Subject: Invitación a conectarnos en LinkedIn
Previous:From: Ernesto VerbanazDate: 2009-12-30 14:08:30
Subject: RE: duda sobre devolver set de resultados en funcion

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group