À propos des relevés de contrôle de transaction
Une transaction est une séquence d'un ou plusieurs énoncés SQL traités par Oracle Database en tant qu'unité : tous les énoncés sont exécutés ou aucun d'entre eux ne l'est. Vous avez besoin de transactions pour modéliser des processus de gestion qui nécessitent l'exécution de plusieurs opérations en tant qu'unité.
Par exemple, lorsqu'un gestionnaire quitte la société, un enregistrement doit être inséré dans la table JOB_HISTORY pour indiquer à quel moment il est parti et, pour chaque employé qui relève de ce gestionnaire, la valeur de MANAGER_ID doit être mise à jour dans la table EMPLOYEES. Pour modéliser ce processus dans une application, vous devez regrouper les instructions INSERT et UPDATE en une seule transaction.
Les énoncés de contrôle de transaction de base sont SAVEPOINT, COMMIT et ROLLBACK :
-
SAVEPOINT marque un point d'enregistrement dans une transaction, point auquel vous pourrez effectuer un repositionnement ultérieur. Les points d'enregistrement sont facultatifs et une transaction peut comporter plusieurs points d'enregistrement.
-
COMMIT met fin à la transaction en cours, rend ses modifications permanentes, efface ses points de sauvegarde et libère ses verrous.
-
ROLLBACK annule (annule) l'intégralité de la transaction en cours ou uniquement les modifications effectuées après le point d'enregistrement spécifié.
Dans l'environnement SQL*Plus, vous pouvez entrer une instruction de contrôle de transaction après l'invite SQL>.
Dans l'environnement SQL Developer, vous pouvez entrer une instruction de contrôle de transaction dans la feuille de calcul. SQL Developer comporte également des icônes Commit Changes et Rollback Changes, qui sont expliquées dans "Committing Transactions" et "Rolling Back Transactions".
Attention :
Si vous ne validez pas explicitement une transaction et que le programme se termine anormalement, la base de données annule automatiquement la dernière transaction non validée.
En raison de ce comportement, mettez explicitement fin aux transactions dans les programmes d'application en les validant ou en les annulant.
Voir aussi :
-
Concepts relatifs à Oracle Database pour plus d'informations sur la gestion des transactions
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur les énoncés de contrôle de transaction