No es un bug, es una característica no documentada

viernes, 17 de abril de 2015

Bases de datos. SQL programado (XIII). Transacciones (II)

9:39 Posted by Inazio , No comments
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