Atšķirība starp COMMIT un ROLLBACK SQL

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 12 Maijs 2024
Anonim
CS50 2013 - Week 9, continued
Video: CS50 2013 - Week 9, continued

Saturs


COMMIT un ROLLBACK ir divi transakciju paziņojumi, kurus izmanto, lai izdarītu vai atsauktu darījumus. Darījumam var būt vaicājumu virkne, vai arī tam var būt atjaunināšanas paziņojumi, kas maina datu bāzi. Būtiskā atšķirība starp COMMIT un ROLLBACK slēpjas viņu darbā. Ja darījums tiek veiksmīgi izpildīts, SAISTĪTIES paziņojums ļauj veikt izmaiņas modifikācijā, ko veicis darījums datu bāzē. No otras puses, ja darījums kāda iemesla dēļ tiek veiksmīgi izpildīts, tad ATPAKAĻ paziņojums atsauc visus atjauninājumus, sākot ar pašreizējā darījuma pirmo paziņojumu.

Apskatīsim atšķirību starp Commit un ROLLBACK paziņojumiem SQL, izmantojot salīdzināšanas diagrammu, kas parādīta zemāk.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsSAISTĪTIESATPAKAĻ
PamataCOMMIT apstiprina pašreizējā darījuma veiktās izmaiņas.ROLLBACK izdzēš pašreizējā darījuma veiktās modifikācijas.
EfektsPēc COMMIT paziņojuma izpildes transakciju nevar atcelt.Kad ROLLBACK ir izpildīts, datu bāze sasniedz iepriekšējo stāvokli, t.i., pirms darījuma pirmā paziņojuma izpildes.
NotikumsCOMMIT notiek, kad darījums tiek veiksmīgi izpildīts.ATRAKŠANA notiek tad, kad darījuma vidū darbība tiek pārtraukta.
SintakseKOMITEJA;ATKLĀŠANA;

KOMITEJAS definīcija

SAISTĪTIES ir SQL paziņojums, kas signalizē veiksmīgs darījuma pabeigšana. Ikreiz, kad darījums bez jebkāda pārtraukuma pabeidz izpildi, izmaiņas, kas veiktas datu bāzē, kļūst pastāvīgas. Kas nozīmē, ka datu bāze nevar atgūt iepriekšējos stāvokļus, kādos tā bija pirms darījuma pirmā paziņojuma izpildes.


COMMIT paziņojuma sintakse ir šāda:

KOMITEJA;

Kad beidzas pēdējais darījuma paziņojums, darījums kļūst daļēji apņēmusies. Tālāk atkopšanas protokoli pārliecinieties, ka pat sistēmas kļūme nespētu datu bāzi padarīt modifikācijas pastāvīgas. Tiklīdz tas ir pārbaudīts, izdarīt punktu no darījuma ir sasniegts, un beidzot darījums noslēdz a izdarīts stāvoklis. Tiklīdz darījums nonāk saistītā stāvoklī, to nevar atsaukt, un sākas jauns darījums.

APRAKSTA definīcija

Tāpat kā COMMIT, ATPAKAĻ ir arī SQL paziņojums, un tas norāda, ka darījums ir veikts ir pabeigts veiksmīgi. Līdz ar to darījums ir pārtraukta atsaukt darījumā veiktās izmaiņas. Pēc ROLLBACK izpildes netiek saglabātas pašreizējā darījuma veiktās modifikācijas.

ROLLBACK sintakse ir šāda:

ATKLĀŠANA;


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 pārtraukums, kļūda darījumu paziņojumos, sistēmas avārija. Elektroenerģijas padeves pārtraukuma vai sistēmas avārijas gadījumā ROLLBACK notiek, kad sistēma atkal restartējas. ATSAUKŠANA var notikt tikai tad, ja COMMIT vēl nav izpildīts.

  1. Galvenā atšķirība starp SQL COMMIT un ROLLBACK paziņojumiem ir tā, ka COMMIT paziņojuma izpilde padara visas pašreizējā darījuma veiktās modifikācijas pastāvīgas. No otras puses, ROLLBACK izpilde izdzēš visas pašreizējā darījuma veiktās modifikācijas.
  2. Kad COMMIT paziņojums ir izpildīts, darījumā veiktās modifikācijas nevar atcelt. Tomēr, tiklīdz ROLLBACK paziņojums ir izpildīts, datu bāze sasniedz iepriekšējo stāvokli.
  3. COMMIT tiek izpildīts, veiksmīgi izpildot darījuma paziņojumus. 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 neatgriezeniski saglabātas datu bāzē, pēc darījuma veiksmīgas pabeigšanas izmantojiet COMMIT. Ja darījuma izpildes laikā rodas kādas kļūdas, darījuma veikto izmaiņu atsaukšanai tiek izmantots ROLLBACK.