Maison > base de données > Oracle > le corps du texte

Comment revenir en arrière dans Oracle

下次还敢
Libérer: 2024-04-19 03:27:17
original
422 Les gens l'ont consulté

L'opération de restauration dans Oracle peut annuler les modifications apportées aux transactions non validées et restaurer la base de données à l'état avant le début de la transaction. Il existe deux méthodes d'annulation : annuler explicitement la transaction en cours à l'aide de l'instruction ROLLBACK ou annuler automatiquement la transaction lorsqu'une erreur se produit via la gestion des exceptions. La restauration ne peut annuler que les modifications apportées à une transaction non validée, et la meilleure pratique consiste à utiliser la gestion des exceptions pour gérer les erreurs dans la transaction afin de garantir que la transaction est annulée correctement lorsqu'une erreur se produit.

Comment revenir en arrière dans Oracle

Oracle Rollback : Comment annuler une transaction

Une restauration dans Oracle est une opération de base de données utilisée pour annuler toutes les modifications dans une transaction non validée. Une transaction est un ensemble d'opérations de base de données consécutives qui réussissent toutes ou échouent. Si une opération au sein de la transaction échoue, la transaction entière est annulée, restaurant ainsi la base de données dans l'état dans lequel elle se trouvait avant le début de la transaction.

Comment annuler une transaction Oracle

Il existe deux façons d'annuler une transaction dans Oracle :

  • À l'aide de l'instruction ROLLBACK : L'instruction ROLLBACK est utilisée pour annuler explicitement la transaction en cours. Cela annulera toutes les modifications effectuées dans la transaction.
<code class="sql">ROLLBACK;</code>
Copier après la connexion
  • Gestion des exceptions : La gestion des exceptions peut être utilisée pour annuler automatiquement une transaction après qu'une erreur se produit. Oracle lève une exception lorsqu'une erreur se produit dans une transaction. Si l'exception n'est pas gérée, la transaction est automatiquement annulée.

Exemple

L'exemple suivant montre comment annuler une transaction Oracle à l'aide de l'instruction ROLLBACK :

<code class="sql">BEGIN
  -- 开始一个事务
  START TRANSACTION;

  -- 执行一些更新
  UPDATE employees SET salary = salary * 1.10
  WHERE department_id = 10;

  -- 发生错误
  UPDATE employees SET salary = salary * -1 -- 错误:负数工资
  WHERE department_id = 20;

  -- 回滚事务
  ROLLBACK;
END;</code>
Copier après la connexion

Dans l'exemple ci-dessus, la première instruction UPDATE s'exécute avec succès, mais la deuxième instruction UPDATE échoue en raison d'un salaire négatif. erreur . L'instruction ROLLBACK annule l'intégralité de la transaction, annulant toutes les modifications apportées aux deux instructions UPDATE.

Notes

  • La restauration ne peut annuler que les modifications apportées aux transactions validées. Les transactions validées ne peuvent pas être annulées.
  • Si une erreur se produit lors de l'annulation d'une transaction, Oracle annulera la transaction mais ne lancera pas d'exception.
  • La meilleure pratique consiste à utiliser la gestion des exceptions pour gérer les erreurs au sein d'une transaction afin de garantir que la transaction est correctement annulée lorsqu'une erreur se produit.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!