Preporučeno, 2024

Izbor Urednika

Razlika između COMMIT i ROLLBACK u SQL-u

COMMITand ROLLBACK, su dvije transakcijske izjave koje se koriste za, izvršavaju ili poništavaju transakcije. Transakcija može imati niz upita, ili može imati ažurirane izraze koji modificiraju bazu podataka. Temeljna razlika između COMMIT-a i ROLLBACK-a leži u njihovom radu. Ako je transakcija tada uspješno izvršena, izraz COMMIT dopušta da izmjene napravljene transakcijom u bazi podataka postanu trajne. S druge strane, ako se transakcija zbog nekog razloga uspješno izvrši, ROLLBACK izjava poništava sva ažuriranja, odmah iz prvog izvoda trenutne transakcije.

Razmotrimo razliku između naredbi Commit i ROLLBACK u SQL-u uz pomoć tablice za usporedbu prikazane u nastavku.

Tablica usporedbe

Osnova za usporedbuPOČINITIROLLBACK
Osnovni, temeljniCOMMIT potvrđuje izmjene koje je izvršila trenutna transakcija.ROLLBACK briše izmjene koje je izvršila trenutna transakcija.
PosljedicaNakon izvršenja COMMIT izraza, transakcija ne može biti ROLLBACK.Nakon što se izvrši ROLLBACK, baza podataka dosegne svoje prethodno stanje, tj. Prije izvršenja prve izjave transakcije.
događajCOMMIT se događa kada se transakcija uspješno izvrši.ROLLBACK se događa kada se transakcija prekine u sredini izvršenja.
SintaksaPOČINITI;ROLLBACK;

Definicija COMMIT

COMMIT je SQL izraz koji signalizira uspješan završetak transakcije. Kad god transakcija dovrši svoje izvršenje bez prekida, promjene izvršene u bazi podataka, transakcija postaje trajna. Što znači da baza podataka ne može povratiti svoja prethodna stanja u kojima je, prije izvršenja prve izjave, transakcije.

Sintaksa naredbe COMMIT je sljedeća:

POČINITI;

Budući da je posljednja izjava transakcije završena, transakcija postaje djelomično izvršena . Nadalje, protokoli za oporavak osiguravaju, da čak i kvar sustava, ne bi uspio bazu podataka, da bi promjene bile trajne. Čim je to označeno, točka urezivanja transakcije je stigla i konačno transakcija ulazi u predano stanje . Nakon što transakcija uđe u izvršeno stanje, ne može se povratiti, a počinje nova transakcija.

Definicija ROLLBACK-a

Kao i COMMIT, ROLLBACK je također SQL izraz i signalizira da transakcija nije uspješno dovršena. Dakle, transakcija je prekinuta kako bi se poništile promjene učinjene transakcijom. Nakon izvršenja ROLLBACK-a, ne zadržavaju se nikakve modifikacije izvršene trenutnom transakcijom.

Sintaksa ROLLBACK-a je sljedeća:

ROLLBACK;

Transakcija ROLLBACK postaje nužna ako dođe do pogreške tijekom izvršenja transakcije. Pogreška može biti kvar sustava, nestanak struje, pogreška u transakcijskim izjavama, pad sustava. U slučaju nestanka struje ili pada sustava, ROLLBACK se pojavljuje kada se sustav ponovno pokrene. ROLLBACK se može pojaviti samo ako COMMIT još nije izvršen.

Ključne razlike između COMMIT i ROLLBACK u SQL-u

  1. Glavna razlika između naredbi COMMIT i ROLLBACK u SQL-u je da izvršavanje naredbe COMMIT čini sve promjene učinjene trenutnom transakcijom trajnom. S druge strane, izvršavanje ROLLBACK-a briše sve izmjene koje je izvršila trenutna transakcija.
  2. Jednom COMMIT izraz izvršio je izmjenu koju je izvršila transakcija ne može biti ROLLBACK. Međutim, kada se izvrši ROLLBACK izraz baza podataka dosegne svoje prethodno stanje.
  3. COMMIT se izvršava na uspješno izvršenje transakcijskih izvještaja. Međutim, ROLLBACK se izvršava kada se transakcija ne izvrši uspješno.

Zaključak:

Kako bi se osiguralo da se promjene izvršene transakcijom trajno spremaju u bazu podataka, koristite COMMIT nakon uspješnog završetka transakcije. U slučaju da se transakcija suočava s bilo kakvom pogreškom tijekom izvršavanja, a zatim da poništi promjene učinjene transakcijom, koristi se ROLLBACK.

Top