Yo devolvería un void en la función y devolvería un cursor dependiendo de los 
datos. Esto me permitiría manejar diferentes resultados a lo largo de la 
función y manejar el problema de las columnas borradas.
Más info, ver: http://sourceforge.net/projects/genfuncpostgres/?source=directory




>________________________________
> De: Lazaro Rubén García Martinez <lgarc...@vnz.uci.cu>
>Para: Alvaro Herrera <alvhe...@alvh.no-ip.org> 
>CC: Ayuda <pgsql-es-ayuda@postgresql.org> 
>Enviado: Martes 7 de febrero de 2012 13:52
>Asunto: RE: [pgsql-es-ayuda] Diferencia entre RETURNS SETOF y RETURNS TABLE
> 
>Alvaro muchas gracias por tu respuesta.
>Saludos.
>
>-----Mensaje original-----
>De: Alvaro Herrera [mailto:alvhe...@alvh.no-ip.org] 
>Enviado el: martes, 07 de febrero de 2012 01:44:PM
>Para: Lazaro Rub茅n Garc铆a Martinez
>CC: Ayuda
>Asunto: Re: [pgsql-es-ayuda] Diferencia entre RETURNS SETOF y RETURNS TABLE
>
>
>Excerpts from Lazaro Rub茅n Garc铆a Martinez's message of mar feb 07 13:45:14 
>-0300 2012:
>> Hola a todos en la lista. Les escribo porque tengo un par de dudas respecto 
>> a los tipos de retornos en las funciones.
>> 
>> 
>> 1.       Existe alguna diferencia en cuanto a rendimiento entre los tipos de 
>> retorno RETURNS SETOF y RETURNS TABLE?
>> 
>> 
>> 2.       Igualmente existe alguna diferencia entre utilizar RETURN QUERY 
>> respecto a crear un bucle Loop y dentro de este ejecutar un RETURN NEXT?
>
>Me parece que actualmente no hay ninguna diferencia.  Sin embargo yo
>siempre usar铆a la forma que sea "m谩s declarativa" porque es posible que
>en el futuro se incluyan optimizaciones; aunque nunca he o铆do decir a
>nadie que est茅 trabajando en optimizaciones en esta 谩rea, ni siquiera
>que sean posibles.
>
>En estos dos casos que planteas, lo m谩s importante que debes testear es
>c贸mo se comportan si tienes tablas con columnas borradas: es decir,
>creas una tabla con una columna extra en la mitad, luego borras la
>columna, luego creas la funci贸n.  Eso debe comportarse igual que si
>creas la tabla sin la columna; o bien si creas la funci贸n antes de
>borrar la columna.  Creo que cualquiera de esos que se comporte de modos
>raros es un bug a reportar.
>
>-- 
>脕lvaro Herrera <alvhe...@alvh.no-ip.org>
>-
>Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
>Para cambiar tu suscripci髇:
>http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
>
>

Responder a