RE:row changed between retrieve and update
Un saludo especial desde COLOMBIA
te anticipo que trabajo con ORACLE
Bueno, ese problema me salió cuando intente actualizar una tabla que tenía un campo tipo CHAR, ya que para oracle este tipo de dato no existe..... si este es el caso, te aconsejo que cambies el tipo de dato a VARCHAR2(#) y con eso creo que solucionarás el problema...
otra posible causa es que algun otro usuario haya actualizado algunos de los registros que tu intentaste actualizar, eso sucedió en el lapso de tiempo entre el retrieve que hayas hecho y el momento de hacer el commit... aunque esta causa es mucho menos frecuente...
NOTA: reviza en post anteriores de enero hacia aca, hace poco ha alguien le sucedió el mismo problema, depronto tenga otra causa y solución diferente
suerte y espero que soluciones el problema