Power Builder - Error en Cursor, Update, Commit

 
Vista:

Error en Cursor, Update, Commit

Publicado por Eduardo C. (75 intervenciones) el 04/03/2010 00:36:38
El problema es el siguiente:

Creo un cursor de una tabla Oracle.
dentro del Do Until ... Loop, segun algunas condiciones actualizo la misma tabla mediante un UPDATE con un where. Resulta que las condiciones son producto de una
busqueda en la misma tabla mediante un select.
El problema radica en que luego de hacer el update no puedo hacer un commit para
que la tabla se refresque ya que si lo hago el cursor vuelve al primer registro , y si no el hago el commit, cuando recupero el valor desde el select este aun no esta actualizado.
// creo cursor
Declare cursorA cursor for
select campo1,campo2 from TablaX
where campo3 = :ss1 order by campo3 ;

Open cursorAA;
Fetch cursorAA into :v1,:v2
DO UNTIL SQLca.SQLCode=100
// Busco condiciones en la misma tabla
Select fechaI, fechav into :kFi, :kFv from TablaX where campo3 =:var3
// hago los calculos necesarios con esos datos
// y luego grabo en la misma tabla
// - -- - - - - - - - - <--- G R A B A ----> - - - - - - - - - - - - - - - - - - - - - - //
UPDATE TablaX
set fechai = :dfec ,
fechav = :fVan
Where Campo3 =:var3 ;
COMMIT ; ================> si lo pongo vuelvo al inicio del Cursor
= ===============> si no lo pongo no actualiza la tabla Fetch cursorA into :v1, :v2;
LOOP
CLOSE CurSorA ;

No se, tal vez alla otra forma de hacerlo o tal vez usar el Fetch Next , se reciben
ideas ... Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error en Cursor, Update, Commit

Publicado por amilcar (407 intervenciones) el 05/03/2010 17:37:37
hola prueba de poner el fetch despues del do until y el commit fuera del cursor

saludos desde argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar