Re: Intentando referencias cruzadas.

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
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:54:36
Message-ID: 63067.30066.qm@web63708.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--- El dom 23-nov-08, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> escribió:

> De: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
> Asunto: Re: [pgsql-es-ayuda] Intentando referencias cruzadas.
> A: "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>
> Fecha: domingo, 23 noviembre, 2008, 8:40 pm
> 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).
>
> --
Gracias Alvaro esta respuesta me da nuevos elementos, asi que voy a seguir profundizando una manera de arrojar los resultados desde una funcion, ya que desde un select llamando a la funcion y pasando parametros lo logro con buenos resultados.

Ahora si lo hago desde una funcion no tengo que armar el select desde la aplicacion y solo tengo que invocar la funcion con los parametros de fila y columna, lo que voy a agregar es tambien si pido un sum, un count, un average u alguna otra funcion y luego lo documento y lo tiro aqui resuelto antes de terminar el 2008 espero.

Por temas en otra area no posteo seguido en la lista pero espero que cuando lo haga sea una contribucion util, eso no pasa dos dias que reviso todo los mail.

Despues del 30 de noviembre seguro pueda estar mas activo.

Atte.
Gabriel Colina

____________________________________________________________________________________
Premios MTV 2008¡En exclusiva! Fotos, nominados, videos, y mucho más! Mira aquí http://mtvla.yahoo.com/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2008-11-24 06:59:03 Re: sobre respuestas fuera de un hilo
Previous Message Alvaro Herrera 2008-11-23 23:40:28 Re: Intentando referencias cruzadas.