Különbség a COMMIT és a ROLLBACK között az SQL-ben
Tartalom
COMMIT és ROLLBACK, a két tranzakciós kimutatás, amelyeket a tranzakciók végrehajtására, végrehajtására vagy visszavonására használnak. Egy tranzakció lekérdezés sorozattal rendelkezhet, vagy lehet, hogy az adatbázis módosító frissítési utasításokkal rendelkezik. Az alapvető különbség a COMMIT és a ROLLBACK között a működésükben rejlik. Ha a tranzakció sikeresen végrehajtódik, akkor a ELKÖVETNI Az utasítás lehetővé teszi a tranzakció által az adatbázisban végrehajtott módosítások állandóvá válását. Másrészt, ha a tranzakció valamilyen okból sikeresen végrehajtódik, akkor a ROLLBACK utasítás visszavonja az összes frissítést, az aktuális tranzakció első nyilatkozatától kezdve.
Az alább bemutatott összehasonlító táblázat segítségével vitassuk meg a Commit és a ROLLBACK utasítások közötti különbséget az SQL-ben.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Ö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. | A ROLLBACK végrehajtása után 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ő, amikor a tranzakció sikeresen végrehajtásra kerül. | A ROLLBACK akkor fordul elő, amikor a tranzakció megszakításra kerül a végrehajtás közepén. |
Szintaxis | ELKÖVETNI; | ROLLBACK; |
A COMMIT meghatározása
ELKÖVETNI egy SQL utasítás, amely jelzi a sikeres tranzakció befejezése. Ha egy tranzakció megszakítás nélkül befejezi a végrehajtását, az adatbázisban a tranzakcióval végrehajtott módosítások véglegessé válnak. Ami azt jelenti, hogy az adatbázis nem tudja visszaszerezni a tranzakció korábbi állapotát, amelyben az első utasítás végrehajtása előtt volt.
A COMMIT utasítás szintaxisa a következő:
ELKÖVETNI;
Amint a tranzakció utolsó nyilatkozata véget ér, az tranzakcióvá válik részben elkötelezett. Ezután a helyreállítási protokollok győződjön meg arról, hogy még egy rendszerhiba esetén sem lenne képes az adatbázisra, hogy a módosításokat állandóvá tegye. Amint ezt ellenőrzik, a elkövetési pont A tranzakció nagysága elérte, és végül az ügylet a elkötelezett állam. Miután a tranzakció elkötelezett állapotba lépett, azt nem lehet visszavonni, és új tranzakció kezdődik.
A ROLLBACK meghatározása
Mint a COMMIT, ROLLBACK is SQL utasítás, és jelzi, hogy a tranzakció megtörtént nem befejeződött sikeresen. Ezért a tranzakció vetélt a tranzakció által végrehajtott változtatások visszavonása. A ROLLBACK végrehajtása után az aktuális tranzakció által végrehajtott módosítások nem maradnak meg.
A ROLLBACK szintaxisa a következő:
VISSZAHATÁS;
Tranzakció A ROLLBACK akkor válik szükségessé, ha hiba történik egy tranzakció végrehajtása során. A hiba lehet a rendszer meghibásodása, áramszünet, tranzakciós kimutatások hibája, rendszer-összeomlás. Áramkimaradás vagy a rendszer összeomlása esetén a ROLLBACK akkor fordul elő, amikor a rendszer újraindul. A ROLLBACK csak akkor fordulhat elő, ha a COMMIT még nincs végrehajtva.
- Az SQL COMMIT és ROLLBACK utasításai 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 összes módosítást állandóvá teszi. Másrészt a ROLLBACK végrehajtása törli az aktuális tranzakció összes módosítását.
- A COMMIT utasítás végrehajtása után a tranzakcióval végrehajtott módosítás nem lehet VISSZAHATÓ. A ROLLBACK utasítás végrehajtása után azonban az adatbázis eléri az előző állapotát.
- A COMMIT végrehajtásra kerül a tranzakciós kimutatások sikeres végrehajtásakor. Ugyanakkor a ROLLBACK akkor kerül végrehajtásra, ha a tranzakció nem hajtódik végre sikeresen.
Következtetés:
Annak biztosítása érdekében, hogy a tranzakció által végrehajtott módosításokat véglegesen elmentse az adatbázisban, használja a COMMIT-et a tranzakció sikeres befejezése után. Ha a tranzakció végrehajtás közben bármilyen hibával szembesül, akkor a tranzakció által végrehajtott változtatások visszavonásához a ROLLBACK parancsot kell használni.