Razlika med COMMIT in ROLLBACK v SQL

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 12 Maj 2024
Anonim
CS50 2013 - Week 9, continued
Video.: CS50 2013 - Week 9, continued

Vsebina


COMMITand ROLLBACK, sta dva transakcijska stavka, ki se uporabljata, izvedeta ali razveljavita transakcije. Transakcija ima lahko zaporedje poizvedb ali pa izjave o posodobitvi, ki spreminjajo bazo podatkov. Temeljna razlika med COMMIT in ROLLBACK je v njihovem delu. Če je transakcija uspešno izvedena, OBVEZNO Izjava dovoljuje, da sprememba, ki jo je opravila transakcija v bazi podatkov, postane trajna. Po drugi strani pa, če se transakcija iz nekega razloga uspešno izvede, potem ROLLBACK stavek razveljavi vse posodobitve že od prve izjave trenutne transakcije.

Pogovorimo se o razliki med stavki zaveze in ROLLBACK v SQL s pomočjo spodnje primerjalne tabele.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoOBVEZNOROLLBACK
OsnovniCOMMIT potrdi spremembe, ki jih je izvedla trenutna transakcija.ROLLBACK izbriše spremembe, ki jih je izvedla trenutna transakcija.
UčinekPo izvedbi izjave COMMIT transakcije ni mogoče ROLLBACK.Ko se ROLLBACK izvede, baza podatkov doseže prejšnje stanje, to je pred izvedbo prve izjave transakcije.
PojavCOMMIT nastane, ko se transakcija uspešno izvede.ROLLBACK nastane, ko je transakcija prekinjena sredi izvršbe.
SintaksaKOMIT;ROLLBACK;

Opredelitev COMMIT

OBVEZNO je stavek SQL, ki signalizira uspešno zaključek transakcije. Kadar transakcija zaključi svojo izvedbo brez prekinitve, spremembe baze podatkov s transakcijo postanejo trajne. Kar pomeni, da baza podatkov ne more povrniti svojih prejšnjih stanj, v katerih je bila pred izvedbo prve izjave transakcije.


Sintaksa stavka COMMIT je naslednja:

KOMIT;

Ko se zadnji izvod transakcije konča, postane transakcija delno zavzeta. Nato sledi obnovitveni protokoli zagotovite, da tudi sistemska napaka ne bi mogla onemogočiti baze podatkov, da bodo spremembe trajne. Takoj, ko je to preverjeno, zavezati točko transakcije je dosegel in na koncu transakcija sklene a zavezana država. Ko transakcija preide v zavezano stanje, je ni mogoče prevrniti in začne se nova transakcija.

Opredelitev ROLLBACK

Tako kot COMMIT, ROLLBACK je tudi stavek SQL in signalizira, da ima transakcija ne je bil dokončan uspešno. Torej, transakcija je splavili prekličete spremembe, ki jih je storila transakcija. Po izvedbi ROLLBACK se ne ohranijo nobene spremembe, opravljene s trenutno transakcijo.

Sintaksa ROLLBACK je naslednja:


ROLLBACK;

Transakcija ROLLBACK postane potrebna, če pride do napake med izvedbo transakcije. Napaka je lahko izpad sistema, izpad električne energije, napaka v izkazih o transakcijah, zrušitev sistema. V primeru izpada električne energije ali okvare sistema se ROLLBACK pojavi, ko se sistem znova zažene. ROLLBACK se lahko pojavi samo, če COMMIT še ni izveden.

  1. Glavna razlika med stavkom COMMIT in ROLLBACK SQL je, da izvedba stavka COMMIT vse spremembe, ki jih je naredila trenutna transakcija, postane trajna. Po drugi strani izvedba ROLLBACK izbriše vse spremembe, ki jih je naredila trenutna transakcija.
  2. Ko je izjava COMMIT izvedla spremembe, ki jo je opravila transakcija, ne more biti ROLLBACK. Ko pa je stavek ROLLBACK izveden, baza podatkov doseže svoje prejšnje stanje.
  3. COMMIT se izvrši ob uspešni izvedbi izjav o transakciji. Vendar se ROLLBACK izvede, ko transakcija ni uspešno izvedena.

Zaključek:

Če želite zagotoviti, da so spremembe, izvedene s transakcijo, trajno shranjene v bazi podatkov, po uspešno zaključeni transakciji uporabite COMMIT. V primeru, da se transakcija med izvajanjem spopade s katero koli napako, nato pa za razveljavitev sprememb, opravljenih s transakcijo, se uporabi ROLLBACK.