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

Szerző: Laura McKinney
A Teremtés Dátuma: 1 Április 2021
Frissítés Dátuma: 11 Lehet 2024
Anonim
Különbség a COMMIT és a ROLLBACK között az SQL-ben - Technológia
Különbség a COMMIT és a ROLLBACK között az SQL-ben - Technológia

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.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Ö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.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ényA 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.
SzintaxisELKÖ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.

  1. 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.
  2. 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.
  3. 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.