Skirtumas tarp „COMMIT“ ir „ROLLBACK“ SQL

Autorius: Laura McKinney
Kūrybos Data: 1 Balandis 2021
Atnaujinimo Data: 7 Gegužė 2024
Anonim
Skirtumas tarp „COMMIT“ ir „ROLLBACK“ SQL - Technologija
Skirtumas tarp „COMMIT“ ir „ROLLBACK“ SQL - Technologija

Turinys


„COMMIT“ ir „ROLLBACK“ yra dvi operacijų ataskaitos, naudojamos operacijoms atlikti, daryti arba anuliuoti. Operacijoje gali būti užklausų seka arba joje gali būti atnaujinimo teiginių, modifikuojančių duomenų bazę. Esminis skirtumas tarp „COMMIT“ ir „ROLLBACK“ yra jų veikloje. Jei operacija sėkmingai įvykdyta, tada KOMITETAS Pareiškimas leidžia atlikti pakeitimus, padarytus operacijos duomenų bazėje, visam laikui. Kita vertus, jei dėl tam tikrų priežasčių operacija sėkmingai vykdoma, tada ATMINTI pareiškimas panaikina visus atnaujinimus, pradedant nuo pirmojo dabartinės operacijos pareiškimo.

Leiskite mums aptarti skirtumą tarp „Commit“ ir „ROLLBACK“ teiginių SQL, naudodamiesi žemiau pateikta palyginimo diagrama.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasKOMITETASATMINTI
Pagrindinis„COMMIT“ patvirtina dabartinės operacijos atliktus pakeitimus.„ROLLBACK“ ištrina dabartinės operacijos padarytas modifikacijas.
PoveikisVykdydami COMMIT pareiškimą, operacija negali būti ROLLBACK.Kai ROLLBACK vykdomas, duomenų bazė pasiekia ankstesnę būseną, ty prieš įvykdant pirmąjį operacijos teiginį.
AtsiradimasKOMITETAS įvyksta, kai operacija sėkmingai vykdoma.ATSISAKYMAS įvyksta, kai operacija nutraukiama vykdant operaciją.
SintaksėKOMITETAS;ATMINTI;

KOMITETO apibrėžimas

KOMITETAS yra SQL teiginys, kuris signalizuoja sėkmingai sandorio įvykdymas. Kai tik operacija užbaigiama jos vykdymu be jokių trukdžių, duomenų bazės pakeitimai, padaryti atliekant operaciją, tampa nuolatiniais. O tai reiškia, kad duomenų bazė negali atgauti ankstesnių būsenų, kuriose ji buvo iki pirmojo pareiškimo įvykdymo.


COMMIT teiginio sintaksė yra tokia:

KOMITETAS;

Kai baigiasi paskutinis operacijos pareiškimas, sandoris tampa iš dalies įsipareigojo. Kitas, išieškojimo protokolai įsitikinkite, kad net sistemos gedimo atveju duomenų bazės nepavyktų padaryti, kad pakeitimai būtų nuolatiniai. Kai tik tai patikrinama, įsipareigoti sandorio pasiekė ir pagaliau sandoris sudaromas įsipareigojusi valstybė. Kai sandoris įgyja įsipareigojimų būseną, jo atšaukti negalima ir prasideda nauja operacija.

APRIBOJIMO apibrėžimas

Kaip COMMIT, ATMINTI taip pat yra SQL sakinys, kuris rodo, kad operacija įvyko ne buvo baigtas sėkmingai. Vadinasi, sandoris yra nutrauktas anuliuoti operacijos atliktus pakeitimus. Atlikus ROLLBACK, dabartinės operacijos atlikti pakeitimai neišlieka.

ROLLBACK sintaksė yra tokia:


ATMINTI;

Operacija „ROLLBACK“ tampa būtina, jei vykdant operaciją įvyksta klaida. Klaida gali būti sistemos gedimas, elektros energijos tiekimo nutraukimas, operacijų ataskaitų klaida, sistemos gedimas. Nutrūkus energijos tiekimui ar nutrūkus sistemai, ROLLBACK įvyksta, kai sistema vėl paleidžiama iš naujo. Atšaukimas gali įvykti tik tuo atveju, jei dar neįvykdytas „COMMIT“.

  1. Pagrindinis SQL „COMMIT“ ir „ROLLBACK“ teiginių skirtumas yra tas, kad vykdant „COMMIT“ pareiškimą visi dabartinio sandorio pakeitimai tampa nuolatiniais. Kita vertus, ROLLBACK vykdymas panaikina visus pakeitimus, kuriuos padarė dabartinė operacija.
  2. Kai COMMIT pareiškimas įvykdomas, operacijos atliktas pakeitimas negali būti ATGAL. Tačiau įvykdžius ROLLBACK sakinį, duomenų bazė pasiekia ankstesnę būseną.
  3. Sėkmingai įvykdžius operacijų ataskaitas, COMMIT vykdomas. Tačiau ROLLBACK vykdomas tada, kai operacija nėra sėkmingai įvykdyta.

Išvada:

Norėdami įsitikinti, kad operacijos atlikti pakeitimai visam laikui išsaugomi duomenų bazėje, sėkmingai atlikę operaciją naudokite COMMIT. Jei vykdant operaciją įvyksta kokia nors klaida, tada, norint anuliuoti atliktus pakeitimus, naudojamas ROLLBACK.