Recommandé, 2024

Choix De L'Éditeur

Différence entre COMMIT et ROLLBACK en SQL

COMMIT et ROLLBACK sont les deux instructions transactionnelles utilisées pour effectuer ou annuler les transactions. Une transaction peut avoir une séquence de requêtes ou les instructions de mise à jour qui modifient la base de données. La différence fondamentale entre COMMIT et ROLLBACK réside dans leur fonctionnement. Si la transaction est exécutée avec succès, l'instruction COMMIT permet à la modification apportée par la transaction dans la base de données de devenir permanente. D'autre part, si la transaction pour une raison quelconque est exécutée avec succès, l'instruction ROLLBACK annule toutes les mises à jour, dès la première instruction de la transaction en cours.

Laissez-nous discuter de la différence entre les instructions Commit et ROLLBACK en SQL à l’aide du tableau de comparaison ci-dessous.

Tableau de comparaison

Base de comparaisonCOMMETTREROLLBACK
De baseCOMMIT valide les modifications apportées par la transaction en cours.ROLLBACK efface les modifications apportées par la transaction en cours.
EffetAprès exécution de l'instruction COMMIT, la transaction ne peut pas être ROLLBACK.Une fois que ROLLBACK est exécuté, la base de données atteint son état précédent, c'est-à-dire avant l'exécution de la première instruction de la transaction.
OccurrenceCOMMIT se produit lorsque la transaction est exécutée avec succès.ROLLBACK se produit lorsque la transaction est abandonnée au milieu de l'exécution.
SyntaxeCOMMETTRE;ROLLBACK;

Définition de COMMIT

COMMIT est une instruction SQL signalant la réussite d'une transaction. Chaque fois qu'une transaction termine son exécution sans aucune interruption, les modifications apportées à la base de données par la transaction deviennent permanentes. Ce qui signifie que la base de données ne peut pas retrouver ses états antérieurs dans lesquels elle était, avant l'exécution de la première instruction, de la transaction.

La syntaxe de l'instruction COMMIT est la suivante:

COMMETTRE;

Lorsque le dernier relevé de la transaction se termine, la transaction devient partiellement validée . Ensuite, les protocoles de récupération garantissent que, même en cas de défaillance du système, la base de données ne pourra pas rendre les modifications permanentes. Dès que cette case est cochée, le point de validation de la transaction a atteint et enfin, la transaction entre dans un état de validation . Une fois que la transaction entre dans un état engagé, elle ne peut pas être annulée et une nouvelle transaction commence.

Définition de ROLLBACK

Comme COMMIT, ROLLBACK est également une instruction SQL et indique que la transaction n'a pas abouti . Par conséquent, la transaction est annulée pour annuler les modifications apportées par la transaction. Après l'exécution de ROLLBACK, aucune modification effectuée par la transaction en cours n'est conservée.

La syntaxe de ROLLBACK est la suivante:

ROLLBACK;

Transaction ROLLBACK devient nécessaire si une erreur survient pendant l'exécution d'une transaction. L'erreur peut être la défaillance du système, une panne de courant, une erreur dans les instructions de transaction, une panne système. En cas de panne de courant ou de panne système, le ROLLBACK se produit lorsque le système redémarre à nouveau. ROLLBACK ne peut se produire que si COMMIT n'est pas encore exécuté.

Différences clés entre COMMIT et ROLLBACK en SQL

  1. La principale différence entre les instructions COMMIT et ROLLBACK de SQL réside dans le fait que l'exécution de l'instruction COMMIT rend permanente toutes les modifications apportées par la transaction en cours. D'autre part, l'exécution de ROLLBACK efface toutes les modifications apportées par la transaction en cours.
  2. Une fois que l’instruction COMMIT a été exécutée, la modification apportée par la transaction ne peut plus être ROLLBACK. Cependant, une fois que l'instruction ROLLBACK est exécutée, la base de données atteint son état précédent.
  3. COMMIT est exécuté lors de l'exécution réussie des instructions de transaction. Cependant, le ROLLBACK est exécuté lorsque la transaction n'est pas exécutée correctement.

Conclusion:

Pour vous assurer que les modifications apportées par la transaction sont enregistrées de manière permanente dans la base de données, utilisez COMMIT après l’achèvement de la transaction. Si la transaction est confrontée à une erreur lors de l'exécution, ROLLBACK est utilisé pour annuler les modifications apportées par la transaction.

Top