SQL-i COMMIT ja ROLLBACKi erinevus

Autor: Laura McKinney
Loomise Kuupäev: 1 Aprill 2021
Värskenduse Kuupäev: 12 Mai 2024
Anonim
SQL - Transactions commit en rollback in een try catch block
Videot: SQL - Transactions commit en rollback in een try catch block

Sisu


COMMIT ja ROLLBACK on kaks tehinguväljavõtet, mida kasutatakse tehingute tegemiseks, tegemiseks või tühistamiseks. Tehingul võib olla päringute jada või see võib sisaldada värskenduslauseid, mis muudavad andmebaasi. Põhiline erinevus COMMITi ja ROLLBACKi vahel seisneb nende töös. Kui tehingu edukas teostamine toimub siis KOMITEE avaldus lubab andmebaasis tehtud tehingu muutmist jäädavaks. Teisest küljest, kui tehing mingil põhjusel õnnestub, siis TAGASIVÕTMINE avaldus tühistab kõik värskendused, alates jooksva tehingu esimesest väljavõttest.

Allpool toodud võrdlusdiagrammi abil arutame SQL-is Committi ja ROLLBACKi avalduste erinevust.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusKOMITEETAGASIVÕTMINE
PõhilineCOMMIT valideerib praeguse tehingu muudatused.ROLLBACK kustutab praeguses tehingus tehtud muudatused.
EfektPärast COMMIT väljavõtte täitmist ei saa tehingut Tühistada.Kui ROLLBACK on täidetud, saavutab andmebaas oma varasema oleku, st enne tehingu esimese väljavõtte täitmist.
EsinemineKOMITEE ilmneb siis, kui tehing saab edukalt täidetud.TAGASIVÕTMINE toimub siis, kui tehingu keskel täitmine katkestatakse.
SüntaksKOMITEE;TAGASIVÕTMINE;

KOMITE määratlus

KOMITEE on SQL-lause, mis annab märku edukas tehingu lõpuleviimine. Kui tehing viib selle täitmise katkestusteta lõpule, muutuvad tehinguga andmebaasis tehtud muudatused jäädavaks. Mis tähendab, et andmebaas ei saa taastada oma varasemaid olekuid, milles ta enne esimese väljavõtte täitmist oli.


COMMIT avalduse süntaks on järgmine:

KOMITEE;

Kui tehingu viimane avaldus lõpeb, saab tehing sellest osaliselt pühendunud. Järgmisena taastamisprotokollid veenduge, et isegi süsteemirikke korral ei saaks andmebaasi teha, et muudatused oleksid püsivad. Niipea kui see on kontrollitud, pühenduma punktile tehingust on jõudnud ja lõpuks sõlmib tehing a pühendunud riik. Kui tehing on jõudnud kohustuslikku olekusse, ei saa seda tagasi võtta ja algab uus tehing.

ROLLBACKi määratlus

Nagu COMMIT, TAGASIVÕTMINE on ka SQL-lause ja see annab märku tehingu olemasolust mitte valminud edukalt. Seega tehing on katkestatud tehingu tehtud muudatuste tühistamiseks. Pärast ROLLBACKi täitmist ei säilitata ühtegi praeguse tehinguga tehtud muudatust.


ROLLBACKi süntaks on järgmine:

TAGASIVÕTMINE;

Tehing ROLLBACK muutub vajalikuks, kui tehingu täitmisel ilmneb tõrge. Viga võib olla süsteemi rike, voolukatkestus, viga tehinguaruannetes, süsteemi krahh. Elektrikatkestuse või süsteemi krahhi korral ilmneb ROLLBACK süsteemi taaskäivitumisel. TAGASIVÕTMINE saab toimuda ainult siis, kui COMMIT pole veel käivitatud.

  1. Peamine erinevus SQL-i COMMIT- ja ROLLBACK-avalduste vahel on see, et COMMIT-avalduse täitmine muudab kõik praeguse tehingu muudatused püsivaks. Teisest küljest kustutab ROLLBACKi täitmine kõik praeguse tehingu muudatused.
  2. Kui COMMIT avaldus on täidetud, ei saa tehinguga tehtud muudatust Tühistada. Kui aga ROLLBACK-avaldus on käivitatud, saavutab andmebaas eelneva oleku.
  3. COMMIT saab tehingute väljavõtete eduka täitmise korral täide. Kui tehingut ei õnnestu edukalt täita, siis ROLLBACK teostatakse.

Järeldus:

Tehinguga tehtud muudatuste püsivasse andmebaasi salvestamise tagamiseks kasutage pärast tehingu eduka lõpuleviimist COMMIT. Kui tehingu täitmisel ilmneb tõrkeid, kasutatakse tehinguga tehtud muudatuste tühistamiseks ROLLBACKi.