Ajánlott, 2024

Szerkesztő Választása

Különbség a COMMIT és a ROLLBACK között SQL-ben

A COMMITand ROLLBACK, az a két tranzakciós nyilatkozat, amelyet a tranzakciókhoz használnak, vagy nem. Egy tranzakció lekérdezési sorozattal rendelkezhet, vagy lehet, hogy a frissítési utasítások módosítják az adatbázist. A COMMIT és a ROLLBACK közötti alapvető különbség a munkájukban rejlik. Ha a tranzakciót sikeresen végrehajtják, a COMMIT utasítás lehetővé teszi, hogy az adatbázisban végrehajtott tranzakció módosítása állandóvá váljon. Másrészt, ha a tranzakció valamilyen oknál fogva sikeresen teljesül, akkor a ROLLBACK utasítás visszavonja az összes frissítést az aktuális tranzakció első állításától.

Az alábbiakban bemutatott összehasonlító táblázat segítségével vitassuk meg az SQL és a ROLLBACK utasítások közötti különbséget.

Összehasonlító táblázat

Az összehasonlítás alapjaELKÖVETNIROLLBACK
AlapvetőA COMMIT érvényesíti az aktuális tranzakció által végrehajtott módosításokat.A ROLLBACK törli az aktuális tranzakció által végrehajtott módosításokat.
HatásA COMMIT utasítás végrehajtása után a tranzakció nem lehet ROLLBACK.Amint a ROLLBACK végrehajtása megtörténik, az adatbázis eléri az előző állapotát, azaz a tranzakció első utasításának végrehajtása előtt.
EseményA COMMIT akkor fordul elő, ha a tranzakció sikeresen végrehajtódik.A ROLLBACK akkor fordul elő, ha a tranzakciót a végrehajtás közepén megszakítják.
SzintaxisELKÖVETNI;ROLLBACK;

A COMMIT meghatározása

A COMMIT egy SQL utasítás, amely jelzi a tranzakció sikeres befejezését. Ha egy tranzakció megszakítás nélkül befejezi a végrehajtást, az adatbázisban végrehajtott módosítások a tranzakcióból állandóvá válnak. Ez azt jelenti, hogy az adatbázis nem tud visszaszerezni korábbi állapotát, amelyben az első nyilatkozat végrehajtása előtt az ügyletet.

A COMMIT utasítás szintaxisa a következő:

ELKÖVETNI;

Mivel a tranzakció utolsó kimutatása befejezi a tranzakciót, az részlegesen elkötelezett . Ezután a helyreállítási protokollok biztosítják, hogy még a rendszerhiba sem tudná az adatbázist állandóvá tenni. Amint ez megtörtént, az ügylet elkötelezettségi pontja elérte, és végül a tranzakció elkötelezett államba lép. Amint a tranzakció elkötelezett állapotba kerül, nem lehet visszavonni, és új tranzakció kezdődik.

A ROLLBACK meghatározása

A COMMIT-hoz hasonlóan a ROLLBACK is SQL utasítás, és jelzi, hogy a tranzakció nem sikerült sikeresen befejeződni. Ezért a tranzakció megszakad, hogy visszavonja a tranzakció által végrehajtott változtatásokat. A ROLLBACK végrehajtása után az aktuális tranzakció nem végez módosításokat.

A ROLLBACK szintaxisa a következő:

ROLLBACK;

A tranzakció ROLLBACK akkor válik szükségessé, ha egy tranzakció végrehajtása során hiba lép fel. A hiba lehet a rendszer meghibásodása, áramkimaradás, tranzakciós nyilatkozatok hibája, rendszerösszeomlás. Áramkimaradás vagy rendszer összeomlás esetén a ROLLBACK akkor jelentkezik, amikor a rendszer újraindul. A ROLLBACK csak akkor fordulhat elő, ha a COMMIT még nincs végrehajtva.

A COMMIT és a ROLLBACK közötti különbségek SQL-ben

  1. A COMMIT és a ROLLBACK SQL utasítások közötti fő különbség az, hogy a COMMIT utasítás végrehajtása az aktuális tranzakció által végrehajtott módosításokat állandóvá teszi. Másrészt a ROLLBACK végrehajtása törli az aktuális tranzakció által végrehajtott módosításokat.
  2. A COMMIT utasítás végrehajtása után a tranzakció által végrehajtott módosítás nem lehet ROLLBACK. Azonban, amint a ROLLBACK utasítás végrehajtásra kerül, az adatbázis eléri az előző állapotát.
  3. A COMMIT végrehajtása a tranzakciós nyilatkozatok sikeres végrehajtásakor történik. Azonban a ROLLBACK végrehajtása akkor történik meg, amikor a tranzakció nem sikerül sikeresen végrehajtani.

Következtetés:

Annak biztosítása érdekében, hogy a tranzakció által végrehajtott változtatások véglegesen mentve legyenek az adatbázisban, a COMMIT-t a tranzakció sikeres befejezése után használja. Abban az esetben, ha a tranzakció a végrehajtás során bármilyen hibát észlel, akkor a tranzakció által végrehajtott változtatások visszavonására kerül sor.

Top