Aanbevolen, 2024

Editor'S Choice

Verschil tussen COMMIT en ROLLBACK in SQL

COMMIT en ROLLBACK, zijn de twee transactionele verklaringen die worden gebruikt om transacties te doen of ongedaan te maken. Een transactie kan een reeks query's bevatten of de updateverklaringen die de database wijzigen. Het fundamentele verschil tussen COMMIT en ROLLBACK ligt in hun werking. Als de transactie met succes is uitgevoerd, staat de COMMIT- verklaring toe dat de wijziging door de transactie in de database permanent wordt. Aan de andere kant, als de transactie om een ​​of andere reden met succes wordt uitgevoerd, maakt de ROLLBACK- instructie alle updates ongedaan, direct vanaf het eerste overzicht van de huidige transactie.

Laten we het verschil tussen Commit en ROLLBACK-instructies bespreken in SQL met behulp van de onderstaande vergelijkingsgrafiek.

Vergelijkingstabel

Basis voor vergelijkingCOMMITTERUGROLLEN
basis-COMMIT valideert de wijzigingen die door de huidige transactie zijn aangebracht.ROLLBACK wist de wijzigingen die door de huidige transactie zijn aangebracht.
EffectNa het uitvoeren van de COMMIT-instructie kan de transactie niet ROLLBACK zijn.Nadat ROLLBACK is uitgevoerd, bereikt de database de vorige status, dat wil zeggen vóór de uitvoering van het eerste overzicht van de transactie.
voorvalCOMMIT treedt op wanneer de transactie met succes wordt uitgevoerd.ROLLBACK treedt op wanneer de transactie midden in de uitvoering wordt afgebroken.
SyntaxisCOMMIT;TERUGROLLEN;

Definitie van COMMIT

COMMIT is een SQL-instructie die de succesvolle afronding van een transactie aangeeft. Wanneer een transactie de uitvoering zonder enige onderbreking voltooit, worden de wijzigingen aan de database door de transactie permanent. Wat betekent dat de database zijn eerdere staten waarin het vóór de uitvoering van de eerste verklaring was, niet van de transactie kon herwinnen.

De syntaxis van COMMIT-statement is als volgt:

COMMIT;

Naarmate het laatste overzicht van de transactie afloopt, wordt de transactie gedeeltelijk vastgelegd . Vervolgens zorgen de herstelprotocollen ervoor dat zelfs een systeemfout de database niet kan wijzigen om de wijzigingen permanent te maken. Zodra dit is gecontroleerd, is het vastleggingspunt van de transactie bereikt en tenslotte gaat de transactie een toegewijde staat in . Zodra de transactie een geëngageerde staat aangaat, kan deze niet worden teruggedraaid en begint een nieuwe transactie.

Definitie van ROLLBACK

Net als COMMIT is ROLLBACK ook een SQL-instructie en dit geeft aan dat de transactie niet succesvol is voltooid. Daarom wordt de transactie afgebroken om de wijzigingen ongedaan te maken die door de transactie zijn aangebracht. Na de uitvoering van ROLLBACK blijven geen wijzigingen, uitgevoerd door de huidige transactie, behouden.

De syntaxis van ROLLBACK is als volgt:

TERUGROLLEN ;

ROLLBACK van de transactie is nodig als er een fout optreedt tijdens de uitvoering van een transactie. De fout kan de systeemstoring, stroomstoring, fout in transactieoverzichten, systeemcrash zijn. In het geval van stroomuitval of systeemcrash treedt de ROLLBACK op wanneer het systeem opnieuw wordt opgestart. ROLLBACK kan alleen plaatsvinden als COMMIT nog niet is uitgevoerd.

Belangrijkste verschillen tussen COMMIT en ROLLBACK in SQL

  1. Het belangrijkste verschil tussen de COMMIT- en ROLLBACK-instructies van SQL is dat de uitvoering van de COMMIT-instructie ervoor zorgt dat alle wijzigingen die door de huidige transactie worden aangebracht, permanent worden. Aan de andere kant wist de uitvoering van ROLLBACK alle wijzigingen die door de huidige transactie zijn aangebracht.
  2. Nadat de COMMIT-opdracht is uitgevoerd, kan de wijziging die door de transactie is aangebracht niet ROLLBACK zijn. Nadat de ROLLBACK-instructie is uitgevoerd, bereikt de database echter zijn vorige status.
  3. COMMIT wordt uitgevoerd bij de succesvolle uitvoering van de transactieoverzichten. De ROLLBACK wordt echter uitgevoerd wanneer de transactie niet succesvol wordt uitgevoerd.

Conclusie:

Om ervoor te zorgen dat de wijzigingen die door de transactie worden aangebracht, permanent worden opgeslagen in de database, gebruikt u COMMIT nadat de transactie is voltooid. Als de transactie tijdens het uitvoeren van een fout wordt geconfronteerd met een fout en vervolgens de wijzigingen ongedaan maakt die door de transactie zijn aangebracht, wordt ROLLBACK gebruikt.

Top