
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 alapja | ELKÖVETNI | ROLLBACK |
---|---|---|
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ás | A 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ény | A 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. |
Szintaxis | ELKÖ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
- 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.
- 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.
- 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.