Re: crear funcion para devolver un fetch all de un cursor a partir de otra funcion

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: crear funcion para devolver un fetch all de un cursor a partir de otra funcion
Date: 2011-08-05 18:44:04
Message-ID: 1312569373-sup-9308@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 vie ago 05 11:29:48 -0400 2011:
> Saludos
> Estoy en creación de una función que recive como parámetro el nomre de otra
> función, sus parámetros en un arreglo, y un refcursor que devuelve la misma.

Partiste mal. Si el refcursor es devuelto por la función que recibe
como parámetro, entonces obviamente no puede también recibirlo; sospecho
que lo que quieres hacer es _devolver_ ese refcursor, y por lo tanto lo
que deberías hacer es que ese refcursor sea un parámetro OUT.

Una vez que lo has definido de esa forma es claro que no debes tener una
cláusula RETURNS, y además v_ref no debe ser un ALIAS, sino un
refcursor.

> La idea general es usar esta función para devolver todos los campos del
> cursor de la otra función y así poder aplicarle ORDER BY, GROUP BY y
> cualquier operación sobre uno de eso campos.

Estás confundido. No puedes retornar los campos (cada campo en forma
individual); lo que sí puedes retornar es un refcursor de manera que
quien llame a return_refcursor_fetch_all pueda hacerle FETCH.

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

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Rivera Rojas 2011-08-05 18:56:02 Cambiar codificación de base de datos
Previous Message Miguel Angel Hernandez Moreno 2011-08-05 18:26:12 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Agrupar por año