Annulation des transactions

L'annulation d'une transaction annule les modifications lui ayant été apportées. Vous pouvez annuler la totalité de la transaction en cours ou l'annuler uniquement à un point de sauvegarde spécifié.

Pour annuler la transaction en cours uniquement à un point de sauvegarde spécifié, vous devez utiliser l'instruction ROLLBACK avec la clause TO SAVEPOINT.

Pour annuler la totalité de la transaction en cours, utilisez l'instruction ROLLBACK sans la clause TO SAVEPOINT ou (dans l'environnement SQL Developer) l'icône Annuler les modifications.

L'annulation de la totalité de la transaction en cours effectue les opérations suivantes :

L'annulation de la transaction en cours uniquement au point d'enregistrement spécifié effectue les opérations suivantes :

Pour voir l'effet d'une annulation dans SQL Developer, vous devez cliquer sur l'icône Régénérer.

Suite à l'exemple 3-7, la table REGIONS possède une région appelée "Moyen-Orient et Afrique" et une région appelée "Afrique". L'exemple 3-8 corrige ce problème (une transaction très simple) et vérifie la modification, puis annule la transaction et vérifie l'annulation.

Exemple 3-8 Annulation de l'ensemble d'une transaction

Avant la transaction :

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Résultats :

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

5 rows selected.

Transaction (modifier la table) :

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

Résultats :

1 row updated.

Vérification de la modification :

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Résultats :

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

5 rows selected.

Annulation de la transaction :

ROLLBACK;

Résultats :

Rollback complete.

Vérification de l'annulation :

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Résultats :

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

5 rows selected.

Voir aussi : Référence du langage SQL Oracle Database pour plus d'informations sur l'instruction ROLLBACK.