Recomandat, 2024

Alegerea Editorului

Diferența dintre COMMIT și ROLLBACK în SQL

COMMITand ROLLBACK, sunt cele două instrucțiuni tranzacționale care sunt folosite pentru a face sau a anula tranzacțiile. O tranzacție poate avea o secvență de interogări sau poate avea instrucțiunile de actualizare care modifică baza de date. Diferența fundamentală dintre COMMIT și ROLLBACK constă în munca lor. Dacă tranzacția este executată cu succes, atunci declarația COMMIT permite modificarea efectuată de tranzacție în baza de date să devină permanentă. Pe celelalte mâini, dacă tranzacția din anumite motive se execută cu succes, instrucțiunea ROLLBACK anulează toate actualizările, chiar de la prima instrucțiune a tranzacției curente.

Să discutăm diferența dintre instrucțiunile Commit și ROLLBACK din SQL cu ajutorul graficului de comparație prezentat mai jos.

Diagramă de comparație

Bazele comparațieiCOMMITROLLBACK
De bazăCOMMIT validează modificările efectuate de tranzacția curentă.ROLLBACK șterge modificările efectuate de tranzacția curentă.
EfectDupă executarea instrucțiunii COMMIT, tranzacția nu poate fi ROLLBACK.Odată ce ROLLBACK este executat, baza de date atinge starea sa anterioară, adică înainte de executarea primei instrucțiuni a tranzacției.
ApariţieCOMMIT apare atunci când tranzacția este executată cu succes.ROLLBACK apare atunci când tranzacția este întreruptă în mijlocul executării.
SintaxăCOMMIT;ROLLBACK;

Definiția COMMIT

COMMIT este o instrucțiune SQL, care semnalează finalizarea cu succes a unei tranzacții. Ori de câte ori o tranzacție completează executarea acesteia fără nicio întrerupere, modificările efectuate în baza de date, prin tranzacție devin permanente. Ceea ce înseamnă că baza de date nu își poate recupera starea anterioară în care a fost, înainte de executarea primei instrucțiuni, a tranzacției.

Sintaxa instrucțiunii COMMIT este după cum urmează:

COMMIT;

După ce ultima declarație a tranzacției se termină, tranzacția devine parțial angajată . Apoi, protocoalele de recuperare asigură că chiar și o eșecare a sistemului nu ar fi putut baza în baza de date, pentru a face modificările permanente. Imediat ce acest lucru este verificat, punctul de comitet al tranzacției a atins și, în final, tranzacția intră într-un stat angajat . Odată ce tranzacția intră într-o stare de angajament, nu poate fi revocată și începe o nouă tranzacție.

Definiția ROLLBACK

Ca și COMMIT, ROLLBACK este, de asemenea, o instrucțiune SQL și semnalează că tranzacția nu a fost finalizată cu succes . Prin urmare, tranzacția este anulată pentru a anula modificările efectuate de tranzacție. După executarea ROLLBACK, nu se modifică nici o modificare efectuată de tranzacția curentă.

Sintaxa ROLLBACK este după cum urmează:

ROLLBACK;

Tranzacția ROLLBACK devine necesară în cazul în care apare o eroare în timpul executării unei tranzacții. Eroarea poate fi eroarea sistemului, întreruperea alimentării, eroarea în declarațiile de tranzacție, prăbușirea sistemului. În cazul unei căderi de tensiune sau a unui accident de sistem, ROLLBACK se produce când sistemul repornește din nou. ROLLBACK poate apărea numai dacă COMMIT nu este încă executat.

Diferențe cheie între COMMIT și ROLLBACK în SQL

  1. Principala diferență dintre instrucțiunile SQL și SQL este că executarea instrucțiunii COMMIT face ca toate modificările făcute de tranzacția curentă să devină permanente. Pe celelalte mâini, executarea ROLLBACK șterge toate modificările efectuate de tranzacția curentă.
  2. Odată ce declarația COMMIT a executat modificarea efectuată de tranzacție, nu poate fi ROLLBACK. Cu toate acestea, odată ce instrucțiunea ROLLBACK este executată, baza de date atinge starea sa anterioară.
  3. COMMIT este executat cu privire la executarea cu succes a declarațiilor de tranzacție. Cu toate acestea, ROLLBACK este executat atunci când tranzacția nu este executată cu succes.

Concluzie:

Pentru a vă asigura că modificările efectuate de tranzacție sunt salvate permanent în baza de date, utilizați COMMIT după finalizarea cu succes a tranzacției. În cazul în care tranzacția se confruntă cu o eroare în timpul execuției, apoi pentru a anula modificările efectuate de tranzacție, se utilizează ROLLBACK.

Top