RE: Recorrer un Refcursor

From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To: <fernando(dot)fontana(at)gmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Recorrer un Refcursor
Date: 2008-11-26 13:54:09
Message-ID: COL111-W7F8D230F7E848E44A43B8A10A0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


No el update
CURRENT OF cursor_name,
Lo que hace es actualizar una tabla y yo lo que necesito es
actualizar los datos que tengo en un cursor, esto es lo que necesito a ver si me ayudan de pronto a encontrar otra solucion,

Tengo una tabla de asientos donde ago el siguiente select,

open rfcursor for
select asidoc,' ' as documento,asinum,asidebe,asihaber,0.00 as saldo from asientos
algo asi
CD,'',1,10,0,0.0
CD,'',2,15,0,0.0
CD,'',3,0,3,0.0
FA,'',1,17,0,0.0

ahora este resultado me retona la columna documento en blanco y la columna saldo todo en cero,
entonces quiero recorrer este cursor para hacer el select del nombre del documento que esta en otra tabla y ponerlo en el cursor y a la columna del saldo poner la resta del debe - haber. Necesitando tener algo asi

CD,'COMPROBANTE DIARIO',1,10,0,10.0

CD,'COMPROBANTE DIARIO',2,15,0,15.0

CD,'COMPROBANTE DIARIO',3,0,3,-3.0

FA,'FACTURA VENTA',1,17,0,17.0

Y finalmente retornar este cursor
Entonces como digo necesito es poder recorrer el cursor y actualizar los datos del mismo, o hay alguna otra forma de hacer esto con cursores????
Gracias de antemano

Date: Tue, 25 Nov 2008 23:23:23 -0200
From: fernando(dot)fontana(at)gmail(dot)com
To: fsigu(at)hotmail(dot)com
Subject: Re: [pgsql-es-ayuda] Recorrer un Refcursor
CC: pgsql-es-ayuda(at)postgresql(dot)org

Hola,
creo que lo que estás buscando es el "update ... where current of nombrecursor". fijate en http://www.postgresql.org/docs/8.3/static/sql-update.html

saludos

El 25 de noviembre de 2008 21:33, Fernando Siguenza <fsigu(at)hotmail(dot)com> escribió:

Si lo lei pero no me dice nada de como actualizar un campo de un registro del cursor, estoy buscando parec ser algo como

select
asicab.asiagecod,asicab.asifec,asicab.asidoc,asicab.asinum,0.00000 as saldo
from asicab for update

o algo asi

lyego con una sentencia update actualizo los datos del cursor, pero todavia no doy con la respuesta

Gracias por responder

> Date: Tue, 25 Nov 2008 21:13:48 -0200
> From: agustingenoves(at)gmail(dot)com
> To: fsigu(at)hotmail(dot)com

> Subject: Re: [pgsql-es-ayuda] Recorrer un Refcursor
> CC: pgsql-es-ayuda(at)postgresql(dot)org
>
> Creo que aca esta todo lo que necesitas, no se si lo viste

> http://www.postgresql.org/docs/8.3/static/plpgsql-cursors.html
>
> 2008/11/25 Fernando Siguenza <fsigu(at)hotmail(dot)com>:

> > Amigos como estan, sigo molestandoles con preguntitas, necesito que me
> > ayuden con un problemita,
> >
> > como hago para recorrer y manipular un refcursor, tengo algo como esto
> >

> > CREATE OR REPLACE FUNCTION prueba(agencia varchar) RETURNS refcursor AS $$
> > DECLARE
> > cMayor refcursor;
> >
> > BEGIN
> > open cMayor for
> > select

> > asicab.asiagecod,asicab.asifec,asicab.asidoc,asicab.asinum,0.00000 as saldo
> > from asicab;
> > aqui como hago para recorrer el refcursor y cambiar el valor de la
> > columna saldo por algun valor

> > RETURN NEXT cMayor;
> > END;
> > $$
> > LANGUAGE 'plpgsql';
> >
> > Gracias
> >
> > ________________________________
> > See how Windows(R) connects the people, information, and fun that are part of

> > your life

Get 5 GB of storage with Windows Live Hotmail. Sign up today.

_________________________________________________________________
Windows Live Hotmail now works up to 70% faster.
http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_faster_112008

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2008-11-26 14:03:26 Re: Recorrer un Refcursor
Previous Message Silvio Quadri 2008-11-26 13:54:01 Re: conectar postgresql a power