Ieteicams, 2024

Redaktora Izvēle

Atšķirība starp COMMIT un ROLLBACK SQL

COMMITand ROLLBACK ir divi darījuma paziņojumi, kas tiek izmantoti, lai darītu vai anulētu darījumus. Darījumam var būt virkne vaicājumu, vai arī tajā var būt atjaunināšanas paziņojumi, kas maina datubāzi. Būtiska atšķirība starp COMMIT un ROLLBACK ir to darbībā. Ja darījums ir veiksmīgi izpildīts, COMMIT paziņojums ļauj veikt izmaiņas datubāzē veiktā darījumā, lai kļūtu par pastāvīgu. No otras puses, ja darījums kāda iemesla dēļ veiksmīgi izpildās, ROLLBACK paziņojums atceļ visus atjauninājumus tieši no pirmā darījuma paziņojuma.

Apspriedīsim atšķirību starp Commit un ROLLBACK paziņojumiem SQL ar zemāk redzamās salīdzināšanas diagrammas palīdzību.

Salīdzinājuma diagramma

Salīdzinājuma pamatsCOMMITROLLBACK
PamataCOMMIT apstiprina pašreizējā darījuma veiktās izmaiņas.ROLLBACK dzēš pašreizējā darījuma veiktās izmaiņas.
IetekmePēc COMMIT paziņojuma izpildes darījums nevar būt ROLLBACK.Kad ROLLBACK ir izpildīts, datubāze sasniedz savu iepriekšējo stāvokli, ti, pirms pirmā darījuma izpildes.
NotikumsCOMMIT notiek, kad darījums tiek veiksmīgi izpildīts.ROLLBACK notiek, kad darījums tiek pārtraukts izpildes laikā.
SintakseCOMMIT;ROLLBACK;

COMMIT definīcija

COMMIT ir SQL paziņojums, kas apliecina veiksmīgu darījuma pabeigšanu. Ja darījums tiek pabeigts bez pārtraukuma, datubāzē veiktās izmaiņas darījumā kļūst pastāvīgas. Tas nozīmē, ka datubāze nevar atgūt savas iepriekšējās valstis, kurās pirms pirmā paziņojuma izpildes darījums tika veikts.

COMMIT paziņojuma sintakse ir šāda:

COMMIT;

Tā kā darījuma pēdējais paziņojums beidzas, darījums kļūst daļēji izdarīts . Pēc tam atkopšanas protokoli nodrošina, ka pat sistēmas kļūme, nevarētu izveidot datu bāzi, padarīt modifikācijas pastāvīgas. Tiklīdz tas ir pārbaudīts, darījuma izpildes punkts ir sasniegts, un, visbeidzot, darījums tiek noslēgts ar saistītu valsti . Pēc tam, kad darījums ir noslēgts, tas nevar tikt atcelts, un sākas jauns darījums.

ROLLBACK definīcija

Tāpat kā COMMIT, ROLLBACK ir arī SQL, un tas norāda, ka darījums nav veiksmīgi pabeigts. Tādējādi darījums tiek pārtraukts, lai atsauktu darījuma veiktās izmaiņas. Pēc ROLLBACK izpildes, pašreizējie darījumi neveic nekādas izmaiņas.

ROLLBACK sintakse ir šāda:

ROLLBACK;

Darījums ROLLBACK kļūst nepieciešams, ja darījuma izpildes laikā rodas kļūda. Kļūda var būt sistēmas kļūme, strāvas padeves pārtraukums, kļūda darījumu paziņojumos, sistēmas crash. Strāvas padeves pārtraukuma vai sistēmas avārijas gadījumā ROLLBACK notiek, kad sistēma atkal tiek restartēta. ROLLBACK var notikt tikai tad, ja COMMIT vēl nav izpildīts.

Galvenās atšķirības starp COMMIT un ROLLBACK SQL

  1. Galvenā atšķirība starp COMMIT un ROLLBACK SQL paziņojumiem ir tāda, ka COMMIT paziņojuma izpilde padara visas pašreizējā darījuma veiktās izmaiņas pastāvīgas. No otras puses, ROLLBACK izpilde izdzēš visus pašreizējā darījuma veiktos grozījumus.
  2. Kad COMMIT paziņojums ir izpildījis darījuma veikto modifikāciju, nevar būt ROLLBACK. Tomēr, kad ir izpildīts ROLLBACK paziņojums, datu bāze sasniedz savu iepriekšējo stāvokli.
  3. COMMIT tiek izpildīts veiksmīgi izpildot darījumu pārskatus. Tomēr ROLLBACK tiek izpildīts, kad darījums netiek veiksmīgi izpildīts.

Secinājums:

Lai nodrošinātu, ka darījuma veiktās izmaiņas tiek pastāvīgi saglabātas datu bāzē, pēc darījuma veiksmīgas pabeigšanas izmantojiet COMMIT. Gadījumā, ja darījums saskaras ar kādu kļūdu, izpildot, tad atsaukt darījuma izdarītās izmaiņas, tiek izmantots ROLLBACK.

Top