Lad os diskutere forskellen mellem Commit og ROLLBACK udsagn i SQL ved hjælp af sammenligning diagram vist nedenfor.
Sammenligningstabel
Grundlag for sammenligning | BEGÅ | ROLLBACK |
---|---|---|
Grundlæggende | COMMIT validerer de ændringer, der er foretaget af den aktuelle transaktion. | ROLLBACK sletter de ændringer, der er foretaget af den aktuelle transaktion. |
Effekt | Efter udførelse af COMMIT-erklæring kan transaktionen ikke være ROLLBACK. | Når ROLLBACK er udført, når databasen sin tidligere tilstand, dvs. før udførelsen af den første opgørelse af transaktionen. |
Hændelse | COMMIT opstår, når transaktionen udføres med succes. | ROLLBACK opstår, når transaktionen afbrydes midt i udførelsen. |
Syntaks | BEGÅ; | ROLLBACK; |
Definition af COMMIT
COMMIT er en SQL-sætning, der signalerer en vellykket gennemførelse af en transaktion. Når en transaktion gennemfører sin gennemførelse uden afbrydelse, bliver ændringerne i databasen ved transaktionen permanent. Det betyder, at databasen ikke kan genvinde sine tidligere stater, hvor det var før transaktionens gennemførelse af den første erklæring.
Syntikken af COMMIT erklæring er som følger:
BEGÅ;
Efterhånden som den sidste opgørelse af transaktionen slutter, bliver transaktionen delvist forpligtet . Derefter sikrer genoprettelsesprotokollerne, at selv et systemfejl ikke ville være i stand til databasen, for at gøre ændringerne permanente. Så snart dette er markeret, har transaktionsforbindelsespunktet nået, og endelig går transaktionen ind i en forpligtet tilstand . Når transaktionen er indgået i en forpligtet tilstand, kan den ikke rulles tilbage, og en ny transaktion begynder.
Definition af ROLLBACK
Som COMMIT er ROLLBACK også en SQL-sætning, og det signalerer, at transaktionen ikke er gennemført med succes . Derfor afbrydes transaktionen for at fortryde ændringerne foretaget af transaktionen. Efter udførelsen af ROLLBACK bevarer ingen ændringer, der foretages af den nuværende transaktion.
Synkroniseringen af ROLLBACK er som følger:
ROLLBACK;
Transaktion ROLLBACK bliver nødvendig, hvis der opstår en fejl under udførelsen af en transaktion. Fejlen kan være systemfejl, strømbrud, fejl i transaktionsopgørelser, systemkrasj. I tilfælde af strømsvigt eller systemnedbrud opstår ROLLBACK, når systemet genstarter igen. ROLLBACK kan kun forekomme, hvis COMMIT endnu ikke er udført.
Nøgleforskelle mellem COMMIT og ROLLBACK i SQL
- Den væsentligste forskel mellem COMMIT og ROLLBACK erklæringer fra SQL er, at udførelsen af COMMIT-erklæring gør al den ændring, der foretages af den nuværende transaktion, permanent. På den anden side sletter udførelsen af ROLLBACK alle de ændringer, der foretages af den aktuelle transaktion.
- Når COMMIT-erklæring er udført, kan ændringen fra transaktionen ikke være ROLLBACK. Men når ROLLBACK erklæringen udføres, når databasen sin tidligere tilstand.
- COMMIT bliver henrettet på den vellykkede gennemførelse af transaktionserklæringerne. ROLLBACK udføres dog, når transaktionen ikke udføres korrekt.
Konklusion:
For at sikre, at ændringerne foretaget af transaktionen permanent gemmes i databasen, skal du bruge COMMIT efter transaktionens succesfulde afslutning. Hvis transaktionen står overfor en fejl under udførelsen og derefter fortryder de ændringer, der er foretaget af transaktionen, anvendes ROLLBACK.