Rollback de Transacciones

Al hacer rollback de una transacción, se deshacen sus cambios. Puede realizar rollback de toda la transacción actual o sólo hasta un punto de grabación especificado.

Para realizar ROLLBACK de la transacción actual sólo hasta un punto de guardado especificado, debe utilizar la sentencia ROLLBACK con la cláusula TO SAVEPOINT.

Para realizar ROLLBACK de toda la transacción actual, utilice la sentencia ROLLBACK sin la cláusula TO SAVEPOINT o (en el entorno de SQL Developer) el icono ROLLBACK Changes.

La reversión de toda la transacción actual realiza lo siguiente:

Al revertir la transacción actual sólo hasta el punto de grabación especificado se realizan las siguientes acciones:

Para ver el efecto de un rollback en SQL Developer, puede que tenga que hacer clic En el icono Refrescar.

Como resultado del Ejemplo 3-7, la tabla REGIONS tiene una región denominada 'Oriente Medio y África' y una región denominada 'África'. El ejemplo 3-8 corrige este problema (una transacción muy sencilla) y comprueba el cambio, pero, a continuación, realiza un rollback de la transacción y comprueba el rollback.

Ejemplo 3-8 Rollback de Toda una Transacción

Antes de la transacción:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Resultado:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East and Africa
         5 Africa

5 rows selected.

Transacción (cambio de la tabla):

UPDATE REGIONS
SET REGION_NAME = 'Middle East'
WHERE REGION_NAME = 'Middle East and Africa';

Resultado:

1 row updated.

Comprobación del cambio:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Resultado:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East
         5 Africa

5 rows selected.

Rollback de la transacción:

ROLLBACK;

Resultado:

Rollback complete.

Comprobación del rollback:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Resultado:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East and Africa
         5 Africa

5 rows selected.

Consulte también: Referencia de lenguaje SQL de Oracle Database para obtener información sobre la sentencia ROLLBACK