--- El dom 23-nov-08, Alvaro Herrera <[EMAIL PROTECTED]> escribió:

> De: Alvaro Herrera <[EMAIL PROTECTED]>
> Asunto: Re: [pgsql-es-ayuda] Intentando referencias cruzadas.
> A: "Gabriel Hermes Colina Zambra" <[EMAIL PROTECTED]>
> Cc: "Foro PostgreSQL" <[email protected]>, "Pablo Braulio" 
> <[EMAIL PROTECTED]>
> 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/
--
TIP 8: explain analyze es tu amigo

Responder a