Rozdiel medzi COMMIT a ROLLBACK v SQL

Autor: Laura McKinney
Dátum Stvorenia: 1 Apríl 2021
Dátum Aktualizácie: 12 Smieť 2024
Anonim
PHPStorm - Laravel formuláre, Konzolové aliasy, Live Templates 1 (10/11)
Video: PHPStorm - Laravel formuláre, Konzolové aliasy, Live Templates 1 (10/11)

Obsah


COMMIT a ROLLBACK, sú dva prevodné príkazy, ktoré sa používajú na uskutočňovanie, vykonávanie alebo rušenie transakcií. Transakcia môže mať sled dopytov alebo môže mať aktualizačné príkazy, ktoré upravujú databázu. Základný rozdiel medzi COMMIT a ROLLBACK spočíva v ich práci. Ak je transakcia úspešne vykonaná, COMMIT vyhlásenie umožňuje, aby zmena vykonaná transakciou v databáze bola trvalá. Na druhej strane, ak sa transakcia z nejakého dôvodu úspešne vykoná, potom ROLLBACK výpis zruší všetky aktualizácie hneď od prvého výpisu aktuálnej transakcie.

Poďme diskutovať o rozdieloch medzi príkazmi Commit a ROLLBACK v SQL pomocou porovnávacej tabuľky uvedenej nižšie.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieCOMMITROLLBACK
základnéCOMMIT potvrdzuje zmeny vykonané v súčasnej transakcii.ROLLBACK vymaže modifikácie vykonané aktuálnou transakciou.
účinokPo vykonaní príkazu COMMIT nemôže byť transakcia ROLLBACK.Akonáhle je ROLLBACK vykonaný, databáza dosiahne svoj predchádzajúci stav, t. J. Pred vykonaním prvého výpisu transakcie.
výskytCOMMIT nastane, keď je transakcia úspešne vykonaná.ROLLBACK nastane, keď je transakcia prerušená uprostred vykonávania.
syntaxCOMMIT;ROLLBACK;

Vymedzenie záväzku

COMMIT je príkaz SQL, ktorý signalizuje úspešný dokončenie transakcie. Kedykoľvek transakcia dokončí svoje vykonanie bez prerušenia, zmeny vykonané v databáze transakciou sa stávajú trvalými. Čo znamená, že databáza nemôže získať späť svoje predchádzajúce stavy, v ktorých bola pred vykonaním prvého výpisu transakcie.


Syntax príkazu COMMIT je nasledovná:

COMMIT;

Po ukončení posledného výpisu transakcie sa transakcia stáva čiastočne zaviazaný, Ďalej, protokoly obnovy zabezpečiť, aby ani zlyhanie systému nebolo schopné databázu, aby boli zmeny trvalé. Akonáhle je toto skontrolované, bod potvrdenia transakcie dosiahol a transakcia nakoniec vstúpila do a angažovaný štát, Keď transakcia prejde do záväzného stavu, nie je možné ju vrátiť a začne sa nová transakcia.

Vymedzenie pojmu ROLLBACK

Rovnako ako COMMIT, ROLLBACK je tiež príkaz SQL a signalizuje, že transakcia má nie bola dokončená úspešne, Transakcia je teda chybne vrátiť späť zmeny vykonané transakciou. Po vykonaní ROLLBACKu sa nezmenia žiadne zmeny vykonané aktuálnou transakciou.


Syntax ROLLBACK je nasledovná:

ROLLBACK;

Transakcia ROLLBACK sa stáva nevyhnutnou, ak sa pri vykonávaní transakcie vyskytne chyba. Chyba môže byť zlyhanie systému, výpadok napájania, chyba v príkazoch na transakcie, zlyhanie systému. V prípade výpadku napájania alebo zlyhania systému nastane ROLLBACK, keď sa systém znova reštartuje. ROLLBACK sa môže vyskytnúť iba v prípade, že COMMIT ešte nie je vykonaný.

  1. Hlavný rozdiel medzi príkazmi SQL COMMIT a ROLLBACK je v tom, že vykonanie príkazu COMMIT spôsobí, že všetky zmeny vykonané v aktuálnej transakcii sa stanú trvalými. Na druhej strane, vykonanie ROLLBACK-u vymaže všetky modifikácie vykonané súčasnou transakciou.
  2. Po vykonaní príkazu COMMIT nemôže byť zmena vykonaná transakciou ROLLBACK. Po vykonaní príkazu ROLLBACK však databáza dosiahne svoj predchádzajúci stav.
  3. COMMIT sa vykoná po úspešnom vykonaní výpisov transakcií. ROLLBACK sa však vykoná, keď sa transakcia nevykoná úspešne.

záver:

Aby sa zabezpečilo, že zmeny vykonané transakciou sa natrvalo uložia do databázy, po úspešnom dokončení transakcie použite COMMIT. V prípade, že transakcia čelí akejkoľvek chybe počas vykonávania, aby sa vrátili zmeny vykonané transakciou, použije sa ROLLBACK.