
Razmotrimo razliku između naredbi Commit i ROLLBACK u SQL-u uz pomoć tablice za usporedbu prikazane u nastavku.
Tablica usporedbe
Osnova za usporedbu | POČINITI | ROLLBACK |
---|---|---|
Osnovni, temeljni | COMMIT potvrđuje izmjene koje je izvršila trenutna transakcija. | ROLLBACK briše izmjene koje je izvršila trenutna transakcija. |
Posljedica | Nakon 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đaj | COMMIT se događa kada se transakcija uspješno izvrši. | ROLLBACK se događa kada se transakcija prekine u sredini izvršenja. |
Sintaksa | POČ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
- 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.
- 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.
- 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.