Power Builder - grabar varios dw con un commit

 
Vista:
sin imagen de perfil
Val: 51
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

grabar varios dw con un commit

Publicado por Manuel (48 intervenciones) el 07/12/2016 23:23:31
hola a todos y gracias por la ayuda que puedan darme. .quisiera la forma practica de validar varios dw y grabar con un solo commit para que la grabacion sea rapida si me dejo entender
Espero sus valiosos comentarios.

manuel
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
Imágen de perfil de Leonardo Daniel A.
Val: 821
Oro
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

grabar varios dw con un commit

Publicado por Leonardo Daniel A. (481 intervenciones) el 08/12/2016 22:22:45
Hola en mi conexion de la base de datos siempre uso Autocommit = false y entonces utilizo el dw_1.update() y el commit para confirmar y el rollback para cancelar


1
2
3
4
5
6
7
8
9
10
11
dw_1.AcceptText()
 
if dw_1.Update() = 1 then
   if dw_2.Update() = 1 then
      commit ;
   else
      rollbak ;
   end if
else
    rollback:
end if
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
sin imagen de perfil
Val: 51
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

grabar varios dw con un commit

Publicado por manuel (48 intervenciones) el 09/12/2016 14:06:21
gracias por responder. .es correcto lo que dices .. mas el tema es como hacer para agilizar la grabación de dw_1, dw_2, dw_3, dw_4 en un solo commit
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

grabar varios dw con un commit

Publicado por Leopoldo Taylhardat (710 intervenciones) el 09/12/2016 19:28:11
Saludos...

El "commit" te actuualiza de forma definitiva TODO LO QUE ESTÉ PENDIENTE DEL USUARIO, ES DECIR DE LA SESIÓN...
No es que necesites muchos commit....

si tu haces...
dw_1.Update()
dw_2.update()
...
dw_n.update()

Commit;

el commit te actualiza a nivel fìsico de la base de datos todo lo pendiente de esos dw...
ahora bién...
se hace individual para que las relaciones se validen de forma física para cada una de las tablas.
es decir si dw_2 depende de dw_1 entonces es recomendable hacerlo así...

dw_1.update()
commit;
dw_2.update()
commit;

aunque hay algunas bases de datos que optimizan o "reglamentan" la relación sin necesidad del commit,
es decir que te verifican que los datos (en este ejemplo) de dw_2 necesiten la relación con dw_1 sin haber hecho el commit.

Ahora si el proceso es lento puede ser que tu base de datos no esté optimizada (no sé con cual trabajas), tengas muchos índices, no tengas suficiente "caché", etc.. que hacen el proceso lento...

espero que te sirva.
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