Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen COMMIT und ROLLBACK in SQL

COMMIT und ROLLBACK sind die beiden Transaktionsanweisungen, mit denen die Transaktionen ausgeführt, ausgeführt oder rückgängig gemacht werden. Eine Transaktion kann eine Abfolge von Abfragen oder die Aktualisierungsanweisungen enthalten, die die Datenbank ändern. Der grundlegende Unterschied zwischen COMMIT und ROLLBACK liegt in ihrer Arbeitsweise. Wenn die Transaktion erfolgreich ausgeführt wurde, lässt die COMMIT- Anweisung zu, dass die durch die Transaktion in der Datenbank vorgenommene Änderung dauerhaft wird. Wenn andererseits die Transaktion aus irgendeinem Grund erfolgreich ausgeführt wurde, macht die ROLLBACK- Anweisung alle Aktualisierungen rückgängig, und zwar bereits ab der ersten Anweisung der aktuellen Transaktion.

Lassen Sie uns den Unterschied zwischen Commit- und ROLLBACK-Anweisungen in SQL anhand der unten gezeigten Vergleichstabelle diskutieren.

Vergleichstabelle

VergleichsgrundlageVERPFLICHTENROLLBACK
BasicCOMMIT validiert die durch die aktuelle Transaktion vorgenommenen Änderungen.ROLLBACK löscht die durch die aktuelle Transaktion vorgenommenen Änderungen.
BewirkenNach der Ausführung der COMMIT-Anweisung kann die Transaktion nicht ROLLBACK sein.Sobald ROLLBACK ausgeführt wird, erreicht die Datenbank ihren vorherigen Status, dh vor der Ausführung der ersten Anweisung der Transaktion.
AuftretenCOMMIT tritt auf, wenn die Transaktion erfolgreich ausgeführt wird.ROLLBACK tritt auf, wenn die Transaktion mitten in der Ausführung abgebrochen wird.
SyntaxVERPFLICHTEN;ROLLBACK;

Definition von COMMIT

COMMIT ist eine SQL-Anweisung, die den erfolgreichen Abschluss einer Transaktion signalisiert. Wenn eine Transaktion ohne Interrupt ausgeführt wird, werden die von der Transaktion an der Datenbank vorgenommenen Änderungen dauerhaft. Dies bedeutet, dass die Datenbank ihre vorherigen Zustände, in denen sie sich vor Ausführung der ersten Anweisung der Transaktion befand, nicht wiederherstellen kann.

Die Syntax der COMMIT-Anweisung lautet wie folgt:

VERPFLICHTEN;

Wenn die letzte Anweisung der Transaktion endet, wird die Transaktion teilweise festgeschrieben . Als nächstes stellen die Wiederherstellungsprotokolle sicher, dass selbst bei einem Systemausfall die Datenbank nicht in der Lage ist, die Änderungen dauerhaft zu machen. Sobald dies überprüft wird, hat der Festschreibungspunkt der Transaktion erreicht, und schließlich geht die Transaktion in einen festgeschriebenen Zustand über . Sobald die Transaktion in einen festgeschriebenen Zustand übergeht, kann sie nicht zurückgesetzt werden, und eine neue Transaktion beginnt.

Definition von ROLLBACK

ROLLBACK ist ebenso wie COMMIT eine SQL-Anweisung und signalisiert, dass die Transaktion nicht erfolgreich abgeschlossen wurde . Daher wird die Transaktion abgebrochen, um die durch die Transaktion vorgenommenen Änderungen rückgängig zu machen. Nach der Ausführung von ROLLBACK bleiben keine Änderungen der aktuellen Transaktion erhalten.

Die Syntax von ROLLBACK lautet wie folgt:

ROLLBACK;

Die Transaktion ROLLBACK wird erforderlich, wenn während der Ausführung einer Transaktion ein Fehler auftritt. Der Fehler kann Systemausfall, Stromausfall, Fehler in Transaktionsanweisungen, Systemabsturz sein. Bei Stromausfall oder Systemausfall tritt ROLLBACK auf, wenn das System erneut gestartet wird. ROLLBACK kann nur auftreten, wenn COMMIT noch nicht ausgeführt wurde.

Hauptunterschiede zwischen COMMIT und ROLLBACK in SQL

  1. Der Hauptunterschied zwischen den Anweisungen COMMIT und ROLLBACK von SQL besteht darin, dass durch die Ausführung der Anweisung COMMIT alle durch die aktuelle Transaktion vorgenommenen Änderungen dauerhaft werden. Andererseits löscht die Ausführung von ROLLBACK alle von der aktuellen Transaktion vorgenommenen Änderungen.
  2. Nachdem die COMMIT-Anweisung ausgeführt wurde, kann die von der Transaktion vorgenommene Änderung nicht mehr ROLLBACK sein. Sobald die ROLLBACK-Anweisung ausgeführt wird, erreicht die Datenbank jedoch ihren vorherigen Status.
  3. COMMIT wird bei der erfolgreichen Ausführung der Transaktionsanweisungen ausgeführt. Das ROLLBACK wird jedoch ausgeführt, wenn die Transaktion nicht erfolgreich ausgeführt wird.

Fazit:

Um sicherzustellen, dass die durch die Transaktion vorgenommenen Änderungen dauerhaft in der Datenbank gespeichert werden, verwenden Sie nach dem erfolgreichen Abschluss der Transaktion COMMIT. Falls bei der Transaktion während der Ausführung ein Fehler auftritt, werden die von der Transaktion vorgenommenen Änderungen rückgängig gemacht. ROLLBACK wird verwendet.

Top