Tarkastellaan eroa Commit- ja ROLLBACK-lausekkeiden välillä SQL: ssä alla olevan vertailukaavion avulla.
Vertailukaavio
Vertailun perusteet | COMMIT | palautus |
---|---|---|
perustiedot | COMMIT vahvistaa nykyisen tapahtuman tekemät muutokset. | ROLLBACK poistaa nykyisen tapahtuman tekemät muutokset. |
Vaikutus | COMMIT-lauseen suorittamisen jälkeen tapahtuma ei voi olla ROLLBACK. | Kun ROLLBACK on suoritettu, tietokanta saavuttaa aikaisemman tilansa eli ennen tapahtuman ensimmäisen lausunnon suorittamista. |
esiintyminen | COMMIT tapahtuu, kun tapahtuma toteutetaan onnistuneesti. | ROLLBACK tapahtuu, kun tapahtuma keskeytetään suorituksen keskellä. |
Syntaksi | COMMIT; | palautus; |
COMMITin määritelmä
COMMIT on SQL-käsky, joka osoittaa tapahtuman onnistuneen suorittamisen. Aina kun tapahtuma suoritetaan loppuun ilman keskeytyksiä, tietokantaan tehdyt muutokset tapahtuman kautta muuttuvat pysyviksi. Se tarkoittaa, että tietokanta ei voi palauttaa aiempia tilojaan, joissa se oli ennen ensimmäisen ilmoituksen suorittamista tapahtumasta.
COMMIT-lauseen syntaksi on seuraava:
COMMIT;
Koska tapahtuman viimeinen lausunto päättyy, tapahtuma on osittain sitoutunut . Seuraavaksi palautusprotokollat varmistavat, että jopa järjestelmän vika, joka ei kykene tietokantaan tekemään muutokset pysyviksi. Heti kun tämä on tarkistettu, tapahtuman sitoutumispiste on saavuttanut ja lopulta tapahtuma siirtyy sitoutuneeseen valtioon . Kun tapahtuma tulee sitoutuneeseen tilaan, sitä ei voi palauttaa, ja uusi tapahtuma alkaa.
Määritelmä ROLLBACK
Kuten COMMIT, ROLLBACK on myös SQL-käsky, ja se osoittaa, että tapahtumaa ei ole saatu päätökseen. Tapahtuma keskeytetään siten, että peruutetaan tapahtuman tekemät muutokset. ROLLBACKin suorittamisen jälkeen nykyisen tapahtuman tekemät muutokset eivät säily.
ROLLBACKin syntaksi on seuraava:
ROLLBACK;
Transaktio ROLLBACK tulee välttämättömäksi, jos tapahtuman aikana tapahtuu virhe. Virhe voi olla järjestelmän vika, sähkökatkos, virhe tapahtumaraportteissa, järjestelmän kaatuminen. Jos sähkökatkos tai järjestelmän kaatuu, ROLLBACK tapahtuu, kun järjestelmä käynnistyy uudelleen. ROLLBACK voi tapahtua vain, jos COMMIT ei ole vielä suoritettu.
Tärkeimmät erot COMMITin ja ROLLBACKin välillä SQL: ssä
- Tärkein ero COMMIT- ja ROLLBACK-lauseiden välillä SQL: ssä on, että COMMIT-lauseen suorittaminen tekee kaikista nykyisen tapahtuman tekemistä muutoksista pysyviä. Toisaalta ROLLBACKin suorittaminen poistaa kaikki nykyisen tapahtuman tekemät muutokset.
- Kun COMMIT-lausunto on suorittanut tapahtuman tekemän muutoksen, se ei voi olla ROLLBACK. Kuitenkin, kun ROLLBACK-lause on suoritettu, tietokanta saavuttaa edellisen tilan.
- COMMIT toteutetaan tapahtumaraporttien onnistuneesta suorittamisesta. ROLLBACK suoritetaan kuitenkin, kun tapahtuma ei toteudu onnistuneesti.
johtopäätös:
Varmistaaksesi, että tapahtuman tekemät muutokset tallennetaan pysyvästi tietokantaan, käytä COMMITia sen jälkeen, kun tapahtuma on onnistunut. Mikäli tapahtuma kohdistaa virheitä suorituksen aikana, peruuttaa tapahtuman tekemät muutokset ROLLBACK-toiminnolla.