RE: Diferencia entre RETURNS SETOF y RETURNS TABLE

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Diferencia entre RETURNS SETOF y RETURNS TABLE
Date: 2012-02-07 19:18:37
Message-ID: 294D3D02D5E18D42827B2ECFEADEB688231F7D8319@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Lo del cursor definitivamente es una buena opción, solo que existen algunos procedimientos almacenados que necesito desarrollarlos utilizando como valor de retorno un SETOF de tablas o tipos de datos compuestos.

Saludos.

De: Alejandro Carrillo [mailto:fasterzip(at)yahoo(dot)es]
Enviado el: martes, 07 de febrero de 2012 02:15:PM
Para: Lazaro Rubén García Martinez
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Diferencia entre RETURNS SETOF y RETURNS TABLE

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 <lgarciam(at)vnz(dot)uci(dot)cu>
Para: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
CC: Ayuda <pgsql-es-ayuda(at)postgresql(dot)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:alvherre(at)alvh(dot)no-ip(dot)org<mailto:alvherre(at)alvh(dot)no-ip(dot)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 <alvherre(at)alvh(dot)no-ip(dot)org<mailto:alvherre(at)alvh(dot)no-ip(dot)org>>
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org<mailto:pgsql-es-ayuda(at)postgresql(dot)org>)
Para cambiar tu suscripci髇:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel 2012-02-07 21:46:14 Instalacion-Configuracion-Restarurar Backup en Ubuntu Server
Previous Message Lazaro Rubén García Martinez 2012-02-07 18:52:43 RE: Diferencia entre RETURNS SETOF y RETURNS TABLE