Transcripción 7.5.1. Ejemplos - Transacciones
Ejemplo sentencia commit: La siguiente sentencia insert la cual está especificando los valores que se van a insertar, insertará los datos de un nuevo profesor llamado José en la tabla.
- INSERT INTO PROFESORES VALUES (5,"JOSÉ",60);
Si el usuario que ejecutó la sentencia insert anterior, ejecuta la siguiente sentencia select, se mostrarán los datos de todos los profesores que estaban originalmente en la tabla, incluyendo además al profesor José que acaba de insertar.
- SELECT * FROM PROFESORES;
Si otro usuario diferente ejecuta la siguiente sentencia select, sólo se verán los 4 profesores que estaban originalmente en la tabla previo a la sentencia insert.
- SELECT * FROM PROFESORES;
Si el usuario que ejecutó la sentencia insert realiza un commit.
- COMMIT;
Y el otro usuario ejecuta nuevamente la sentencia select, se mostrarán todos los profesores de la tabla, incluyendo al profesor José, ya que la transacción fue confirmada con la sentencia commit.
- SELECT * FROM PROFESORES;
Ejemplo sentencia rollback: Si se ejecuta la siguiente sentencia update, se modificará el campo edad del registro número 1 de 45 años a 20 años.
- UPDATE PROFESORES SET EDAD = 20 WHERE ID_PROFESOR = 1;
Si luego se ejecuta la siguiente sentencia.
- ROLLBACK;
Y finalmente se ejecuta la siguiente sentencia select, se mostrarán todos los registros de la tabla profesores, donde podemos ver que en el campo edad del registro número 1, no aparece 20 años, sino 45, ya que la sentencia rollback deshizo la modificación realizada anteriormente.
- SELECT * FROM PROFESORES
Ejemplo sentencia savepoint: Si ejecutamos la siguiente sentencia insert, insertará los datos de un nuevo profesor llamado José en la tabla.
- INSERT INTO PROFESORES VALUES (5,"JOSÉ",60);
Luego ejecutamos la sentencia commit para confirmar los datos.
- COMMIT;
Si ejecutamos la siguiente sentencia update, se actualizarán los datos del campo edad del registro número 5, el cual se insertó anteriormente, de 60 años a 20 años.
- UPDATE PROFESORES SET EDAD = 20 WHERE ID_PROFESOR = 5;
Ejecutamos la sentencia savepoint para crear un punto de grabado de los datos.
transacciones ejemplos