Instrucciones de manejo de transacciones:
START TRANSACTION
lo que hace es empezar una nueva transacción, es decir, ya deja el commit a 0.
Si hubiese habido algo de código previo a la transacción,
éste se valida y comienza una nueva.
Esto permite que se muestren los datos ya validados en el
momento de realizar la transacción.
COMMIT lo
usaremos para grabar las operaciones y finalizar las transacciones
ROLLBACK deshace
las operaciones de la transacción y la finaliza. Ojo, sólo afecta a las
instrucciones DML. Cosas como borrar una tabla no se puede deshacer con
rollback (se hace un drop table y solucionado)
SAVEPOINT nombreSavePoint crea un punto de guardado dentro de la
transacción para tener una referencia en caso de querer deshacer cambios pero
no todos.
ROLLBACK TO nombreSavePoint deshace los cambios
hasta el punto de guardado indicado. Al igual que rollback, solo afecta a las
instrucciones DML
SET TRANSACTION permite
cambiar el nivel de aislamiento de la transacción
LOCK TABLES permite
bloquear explícitamente una o varias tablas. A la vez cierra todas las
transacciones abiertas.
Ejemplos de códigos completos
Uno sencillo
Y como debería ser bien hecho, con comprobantes de errores y volcando código y texto de error en variables out
0 comentarios:
Publicar un comentario