From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com> |
Cc: | Foro PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>, Pablo Braulio <brulics(at)gmail(dot)com> |
Subject: | Re: Intentando referencias cruzadas. |
Date: | 2008-11-23 23:40:28 |
Message-ID: | 20081123234028.GE4781@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Gabriel Hermes Colina Zambra escribió:
> select
> public.pivot_table2('central.cabezales','id_empresa','id_documentos','importe_con_impuestos','ref');
>
> Veo pivot_table2
> ref
> Despues hago asi
>
> FETCH ALL IN ref;
> Cursor ref no existe es lo que me devuelve
>
> Creo que es una lastima no seguir profundizando por
> estar trancado aqui, por que aunque muy rudimentario
> por ahora, esta seria una buena solucion
Tienes que abrir una transaccion antes de invocar a la funcion. El
FETCH tienes que hacerlo dentro de la misma transaccion.
La razon es que los cursores solo viven hasta la duracion de una
transaccion; al cerrar la transaccion, se cierra el cursor
automaticamente. Como no abriste ninguna transaccion explicitamente
antes de llamar a la funcion, se abre una automaticamente para
invocarla, y luego se cierra en cuanto se termina, cerrandose asi el
cursor. Cuando haces FETCH, estas en una transaccion nueva, y el cursor
ya no existe.
(Nota: los cursores que se declaran WITH HOLD pueden persistir mas alla
del fin de una transaccion, pero tienen sus propios problemas, por lo
que es mejor no usarlos a menos que sepas lo que estas haciendo).
--
Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
"No hay cielo posible sin hundir nuestras raíces
en la profundidad de la tierra" (Malucha Pinto)
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Hermes Colina Zambra | 2008-11-23 23:54:36 | Re: Intentando referencias cruzadas. |
Previous Message | Alvaro Herrera | 2008-11-23 23:26:24 | Re: sobre respuestas fuera de un hilo |