Forskjellen mellom COMMIT og ROLLBACK i SQL

Forfatter: Laura McKinney
Opprettelsesdato: 1 April 2021
Oppdater Dato: 12 Kan 2024
Anonim
Transactions in sql server   Part 57
Video: Transactions in sql server Part 57

Innhold


KOMMISSJON og ROLLBACK, er de to transaksjonskravene som er brukt til, gjøre eller angre transaksjonene. En transaksjon kan ha en sekvens med spørsmål, eller den kan ha oppdateringsuttalelsene som endrer databasen. Den grunnleggende forskjellen mellom COMMIT og ROLLBACK ligger i deres arbeid. Hvis transaksjonen utføres vellykket, vil BEGÅ uttalelse tillater endringene som er gjort av transaksjonen i databasen, å bli permanent. På den annen side, hvis transaksjonen av en eller annen grunn utføres vellykket, vil ROLLBACK uttalelse angre alle oppdateringer, helt fra den første uttalelsen om den nåværende transaksjonen.

La oss diskutere forskjellen mellom Commit og ROLLBACK utsagn i SQL ved hjelp av sammenligningskart som er vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningBEGÅROLLBACK
grunn~~POS=TRUNCCOMMIT validerer endringene som er gjort av den gjeldende transaksjonen.ROLLBACK sletter endringene som er gjort av den gjeldende transaksjonen.
EffektEtter utførelse av COMMIT-uttalelse, kan ikke transaksjonen være ROLLBACK.Når ROLLBACK er utført, når databasen sin forrige tilstand, dvs. før utførelsen av den første uttalelsen om transaksjonen.
HendelseCOMMIT oppstår når transaksjonen blir utført vellykket.ROLLBACK oppstår når transaksjonen blir avbrutt midt i utførelsen.
syntaxBEGÅ;ROLLBACK;

Definisjon av COMMIT

BEGÅ er en SQL-setning, som signaliserer vellykket fullføring av en transaksjon. Hver gang en transaksjon fullfører utførelsen uten avbrudd, blir endringene som er gjort i databasen av transaksjonen, permanente. Noe som betyr at databasen ikke kan gjenvinne sine tidligere tilstander der den var før utførelsen av den første uttalelsen av transaksjonen.


Syntaksen til COMMIT-uttalelsen er som følger:

BEGÅ;

Når den siste uttalelsen om transaksjonen avsluttes, blir transaksjonen delvis forpliktet. Neste, utvinningsprotokoller sørge for at til og med en systemfeil, ikke databasen ikke kunne gjøre endringene permanente. Så snart dette er sjekket, vil forplikte poeng av transaksjonen har nådd, og til slutt inngår transaksjonen a engasjert stat. Når transaksjonen er inngått i en forpliktet tilstand, kan den ikke tilbakeføres, og en ny transaksjon begynner.

Definisjon av ROLLBACK

Som COMMIT, ROLLBACK er også en SQL-setning, og den signaliserer at transaksjonen har ikke blitt fullført vellykket. Derfor er transaksjonen abortert for å angre endringene som er gjort av transaksjonen. Etter utførelsen av ROLLBACK beholder ingen endringer, utført av den gjeldende transaksjonen.


Syntaksen til ROLLBACK er som følger:

ROLLBACK;

Transaksjon ROLLBACK blir nødvendig hvis det oppstår en feil under utførelsen av en transaksjon. Feilen kan være systemsvikt, strømbrudd, feil i transaksjonsuttalelser, systemkrasj. I tilfelle strømbrudd eller systemkrasj, skjer ROLLBACK når systemet starter på nytt. ROLLBACK kan bare skje hvis COMMIT ennå ikke er utført.

  1. Hovedforskjellen mellom COMMIT og ROLLBACK-setningene til SQL er at utførelsen av COMMIT-setningen gjør at alle endringene som gjøres av den nåværende transaksjonen blir permanent. På den annen side sletter utførelsen av ROLLBACK all endring som er gjort av den gjeldende transaksjonen.
  2. Når COMMIT-uttalelsen har utført, kan ikke modifiseringen gjort av transaksjonen være ROLLBACK. Når imidlertid ROLLBACK-setningen er utført, når databasen sin forrige tilstand.
  3. COMMIT blir henrettet ved vellykket gjennomføring av transaksjonsoppgavene. ROLLBACK utføres imidlertid når transaksjonen ikke blir utført vellykket.

Konklusjon:

For å sikre at endringene som er gjort av transaksjonen blir lagret permanent i databasen, bruk COMMIT etter at transaksjonen er fullført. I tilfelle transaksjonen står overfor feil under utførelse for å angre endringene som er gjort av transaksjonen, brukes ROLLBACK.