Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp COMMIT ir ROLLBACK SQL

COMMITand ROLLBACK - tai du sandorių pareiškimai, naudojami sandoriams atlikti, atlikti ar anuliuoti. Sandoris gali turėti užklausų seką, arba gali turėti atnaujinimo ataskaitas, pakeičiančias duomenų bazę. Pagrindinis skirtumas tarp COMMIT ir ROLLBACK yra jų darbe. Jei sandoris sėkmingai įvykdomas, COMMIT pareiškimas leidžia atlikti duomenų bazėje atlikto sandorio pakeitimą tapti nuolatiniu. Kita vertus, jei sandoris dėl kokios nors priežasties sėkmingai įvykdomas, ROLLBACK pareiškimas atsiima visus atnaujinimus, pradedant nuo pirmosios dabartinio sandorio ataskaitos.

Aptarkime skirtumą tarp „Commit“ ir „ROLLBACK“ pareiškimų SQL, naudojant žemiau pateiktą palyginimo lentelę.

Palyginimo diagrama

Palyginimo pagrindasCOMMITGRĄŽINIMAS
PagrindinisCOMMIT patvirtina dabartinio sandorio pakeitimus.ROLLBACK ištrina dabartinio sandorio pakeitimus.
PoveikisĮgyvendinus COMMIT pareiškimą, sandoris negali būti ROLLBACK.Kai ROLLBACK yra įvykdyta, duomenų bazė pasiekia ankstesnę būseną, ty prieš įvykdant pirmąjį sandorio pareiškimą.
ĮvykisCOMMIT įvyksta, kai sandoris sėkmingai įvykdomas.ROLLBACK įvyksta, kai operacija nutraukiama vykdymo metu.
SintaksėCOMMIT;ROLLBACK;

COMMIT apibrėžimas

COMMIT yra SQL pranešimas, signalizuojantis apie sėkmingą sandorio užbaigimą. Kai sandoris užbaigiamas vykdant be jokios pertraukos, duomenų bazėje padaryti sandoriai tampa nuolatiniai. Tai reiškia, kad duomenų bazė negali atgauti savo ankstesnių valstybių, kuriose prieš įvykdant pirmąjį pareiškimą ji buvo įvykdyta.

COMMIT pareiškimo sintaksė yra tokia:

COMMIT;

Kadangi paskutinis sandorio pareiškimas baigiasi, sandoris tampa iš dalies įvykdytas . Be to, atkūrimo protokolai užtikrina, kad net sistemos gedimas, duomenų bazės negalėtų padaryti nuolatinių pakeitimų. Kai tik tai bus patikrinta, sandorio įvykdymo taškas pasiekė ir galiausiai sandoris įsijungia į įsipareigojimą . Kai sandoris patenka į priskirtą valstybę, jis negali būti atšauktas ir prasideda naujas sandoris.

ROLLBACK apibrėžimas

Kaip ir COMMIT, ROLLBACK taip pat yra SQL, o tai rodo, kad sandoris nebuvo sėkmingai užbaigtas. Todėl sandoris nutraukiamas, kad būtų atšaukti sandorio įvykdyti pakeitimai. Po ROLLBACK vykdymo, neišlieka jokių pakeitimų, atliktų pagal dabartinį sandorį.

ROLLBACK sintaksė yra tokia:

ROLLBACK;

Operacija ROLLBACK tampa būtina, jei įvykdant operaciją įvyksta klaida. Klaida gali būti sistemos gedimas, elektros energijos tiekimo nutraukimas, klaida sandorių ataskaitose, sistemos gedimas. Elektros energijos tiekimo sutrikimo arba sistemos gedimo atveju ROLLBACK atsiranda, kai sistema vėl pradeda veikti. ROLLBACK gali įvykti tik tuo atveju, jei COMMIT dar nėra įvykdytas.

Pagrindiniai skirtumai tarp COMMIT ir ROLLBACK SQL

  1. Pagrindinis skirtumas tarp „COMMIT“ ir „ROLLBACK“ teiginių „SQL“ yra tai, kad „COMMIT“ pareiškimo vykdymas daro visus dabartinio sandorio pakeitimus nuolatinius. Kita vertus, ROLLBACK vykdymas ištrina visus dabartinio sandorio pakeitimus.
  2. Kai COMMIT pareiškimas įvykdė sandorio padarytą pakeitimą, negali būti ROLLBACK. Tačiau, atlikus ROLLBACK pareiškimą, duomenų bazė pasiekia ankstesnę būseną.
  3. COMMIT bus įvykdytas sėkmingai įvykdžius operacijų ataskaitas. Tačiau „ROLLBACK“ vykdoma, kai sandoris nėra sėkmingai įvykdytas.

Išvada:

Siekiant užtikrinti, kad sandorio pakeitimai būtų visam laikui išsaugoti duomenų bazėje, naudokite COMMIT po sėkmingo sandorio. Tuo atveju, kai vykdant operaciją susiduriama su klaida, atšaukite operacijos atliktus pakeitimus, naudojamas ROLLBACK.

Top