commit
Publicado por Pedro (1 intervención) el 26/05/2009 15:51:59
Hola Gente.-
Tengo un procedimiento que recorre una tabla de unos 5000 registros mas o menos y me actualiza un atributo. El tema es que cuando lo ejecuto me genera muchos bloqueos en el INFORMIX y el prc se me corta.
Probe de hacer un commit cada 500 registros; pero el procedimiento finaliza cuando termina de hacer el commit de los primeros 500 y el resto queda sin procesar.
El prc es asi:
&i = 0
For Each ForGru
Where ForGru = &ForGru
Defined by For096
&i = &i + 1
...............
...............
...............
If &i = 500
Commit
&i = 0
EndIf
EndFor
Commit
El procedimento tiene YES en COMMIT ON EXIT dentro de las propiedades.-
Tambien verifique que las tablas no hayan sido creadas con un bloquedo a nivel pagina, en lugar de nivel registro.
Trabajo con Gx 9.0
Gen .Net/Informix (WEB)
Ultimos Upgrates
Tengo un procedimiento que recorre una tabla de unos 5000 registros mas o menos y me actualiza un atributo. El tema es que cuando lo ejecuto me genera muchos bloqueos en el INFORMIX y el prc se me corta.
Probe de hacer un commit cada 500 registros; pero el procedimiento finaliza cuando termina de hacer el commit de los primeros 500 y el resto queda sin procesar.
El prc es asi:
&i = 0
For Each ForGru
Where ForGru = &ForGru
Defined by For096
&i = &i + 1
...............
...............
...............
If &i = 500
Commit
&i = 0
EndIf
EndFor
Commit
El procedimento tiene YES en COMMIT ON EXIT dentro de las propiedades.-
Tambien verifique que las tablas no hayan sido creadas con un bloquedo a nivel pagina, en lugar de nivel registro.
Trabajo con Gx 9.0
Gen .Net/Informix (WEB)
Ultimos Upgrates
Valora esta pregunta


0