Cita:
Empezado por Al González
Tarde o temprano tendrás que cambiar eso. No tiene sentido abrir una transacción mientras no sea seguro que algo se enviará a la base de datos. En pocas palabras, hasta que el usuario oprima "guardar", es cuando hay que:
1. Iniciar transacción.
2. Enviar datos / cambios.
3. Confirmar transacción (o revertirla en caso de problema).
De la manera en que lo haces actualmente es nocivo, como ya has podido darte cuenta.
Saludos.
|
Si y No. Dependerá de la amplitud de la acción. Para empezar, la transacción abierta te protege de los cambios que intente realizar otro usuario. Bloqueas el acceso a registros que estan siendo actualizados, que nadie mas se pueda hacer propietarios de ellos.
Si. Por ejemplo, tengo que introducir consumos de stock desde un formulario. Para cada registro introducido se implementa la transacción como señalas.