Verschil tussen COMMIT en ROLLBACK in SQL

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 12 Kunnen 2024
Anonim
Transactions in #PostgreSQL #COMMIT #ROLLBACK #SQLTransaction #Differences between commit & rollback
Video: Transactions in #PostgreSQL #COMMIT #ROLLBACK #SQLTransaction #Differences between commit & rollback

Inhoud


COMMIT en ROLLBACK, zijn de twee transactieverklaringen die worden gebruikt om de transacties uit te voeren of ongedaan te maken. Een transactie kan een reeks query's hebben 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, wordt de COMMIT verklaring staat toe dat de door de transactie in de database aangebrachte wijziging permanent wordt. Aan de andere kant, als de transactie om welke reden dan ook met succes wordt uitgevoerd, wordt de TERUGROLLEN statement maakt alle updates ongedaan, direct vanaf het eerste statement van de huidige transactie.

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

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

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 uitvoering van COMMIT-instructie kan de transactie niet meer ROLLBACK zijn.Nadat ROLLBACK is uitgevoerd, bereikt de database zijn vorige status, d.w.z. vóór de uitvoering van het eerste overzicht van de transactie.
voorvalCOMMIT treedt op wanneer de transactie succesvol wordt uitgevoerd.ROLLBACK treedt op wanneer de transactie tijdens de uitvoering wordt afgebroken.
SyntaxisCOMMIT;TERUGROLLEN;

Definitie van COMMIT

COMMIT is een SQL-instructie, die de geslaagd voltooiing van een transactie. Wanneer een transactie zonder onderbreking wordt uitgevoerd, worden de wijzigingen die door de transactie in de database zijn aangebracht permanent. Dit betekent dat de database de vorige status waarin de transactie zich vóór de uitvoering van de eerste verklaring bevond, niet terug kan krijgen.


De syntaxis van COMMIT-instructie is als volgt:

COMMIT;

Als het laatste overzicht van de transactie eindigt, wordt de transactie gedeeltelijk toegewijd. Vervolgens de herstelprotocollen ervoor te zorgen dat zelfs een systeemstoring de database niet in staat zou stellen om de wijzigingen permanent te maken. Zodra dit is aangevinkt, wordt de commit punt van de transactie heeft bereikt en ten slotte gaat de transactie in een toegewijde staat. Zodra de transactie in een gecommitteerde staat komt, kan deze niet meer worden teruggedraaid en begint een nieuwe transactie.

Definitie van ROLLBACK

Zoals COMMIT, TERUGROLLEN is ook een SQL-instructie en geeft aan dat de transactie heeft niet voltooid met succes. Daarom is de transactie geaborteerde om de wijzigingen die door de transactie zijn aangebracht ongedaan te maken. Na de uitvoering van ROLLBACK blijven geen wijzigingen van de huidige transactie behouden.


De syntaxis van ROLLBACK is als volgt:

TERUGROLLEN ;

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

  1. Het belangrijkste verschil tussen de COMMIT- en ROLLBACK-instructies van SQL is dat de uitvoering van COMMIT-instructie ervoor zorgt dat alle wijzigingen die door de huidige transactie worden aangebracht permanent worden. Anderzijds wist de uitvoering van ROLLBACK alle wijzigingen die door de huidige transactie zijn aangebracht.
  2. Zodra COMMIT-instructie is uitgevoerd, kan de door de transactie aangebrachte wijziging niet meer ROLLBACK zijn. Zodra de ROLLBACK-instructie is uitgevoerd, bereikt de database echter de 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.

Gevolgtrekking:

Om ervoor te zorgen dat de wijzigingen die door de transactie zijn aangebracht, permanent in de database worden opgeslagen, gebruikt u COMMIT nadat de transactie is voltooid. In het geval dat de transactie tijdens de uitvoering een fout tegenkomt, om de door de transactie aangebrachte wijzigingen ongedaan te maken, wordt ROLLBACK gebruikt.