Re: Error en función para devolver todos los records en un refcursor

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Marcos Luis Ortiz Valmaseda <marcosluis2186(at)googlemail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Error en función para devolver todos los records en un refcursor
Date: 2011-08-18 16:18:11
Message-ID: 1313683985-sup-6534@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Excerpts from Marcos Luis Ortiz Valmaseda's message of jue ago 18 12:03:25 -0400 2011:
> El 18 de agosto de 2011 11:10, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>escribió:

> > ¿Qué estás tratando de hacer? La verdad es que no veo el propósito de
> > todo esto. Tomas una función que retorna un refcursor, luego abres ese
> > refcursor, metes los resultados en otro refcursor y retornas el segundo
> > refcursor ... ¿?

> No, ya estoy cambiando eso, lo que debe devolver es un SET OF RECORD, y ya
> la estoy cambiando para eso.

Ya ... ¿funcionará realmente eso? Porque la consulta que invoque
return_refcursor_fetch_all deberá especificar el tipo del resultado; si
es un SETOF RECORD vas a tener que indicarle, en la aplicación, el
nombre y tipo de cada columna del resultado.

> El sentido principal es que estamos usando una aplicación para la generación
> de reporte, y la misma usa procedimientos almacenados en la base de datos,
> pero
> dicha base de datos, tiene todos los procedimientos programados que
> devuelven un refcursor. La idea general es hacer una función que sirva como
> de proxy a dicho procedimientos y devolver todos los datos, no con
> refcursor, sino como un set de datos, para el cual se le puedan aplicar
> ORDER BY, GROUP BY, LIMIT, etc.

No tengo claro cómo se irá a hacer esto, pero me imagino que el
rendimiento no será bueno, si el tamaño del resultado es grande
(ignorando el LIMIT que quieras aplicarle externamente, porque
obviamente eso no se usará hasta después de haber ejecutado
completamente la consulta dentro de la función).

¿Están convirtiendo una aplicación que ya está en SQL Server o Sybase?

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diana Lilia Rodríguez Cruz 2011-08-18 18:41:43 ERROR: la consulta no tiene un destino para los datos de resultado
Previous Message Hellmuth Vargas 2011-08-18 16:04:30 Re: Equivalencias entre mysql y postgresql