Rozdíl mezi COMMIT a ROLLBACK v SQL

Autor: Laura McKinney
Datum Vytvoření: 1 Duben 2021
Datum Aktualizace: 1 Smět 2024
Anonim
Rozdíl mezi COMMIT a ROLLBACK v SQL - Technologie
Rozdíl mezi COMMIT a ROLLBACK v SQL - Technologie

Obsah


COMMIT a ROLLBACK, jsou dva transakční příkazy, které se používají k provádění, provádění nebo zrušení transakcí. Transakce může mít sled dotazů nebo může mít aktualizační příkazy, které upravují databázi. Základní rozdíl mezi COMMIT a ROLLBACK spočívá v jejich práci. Pokud je transakce úspěšně provedena, pak SPÁCHAT Příkaz umožňuje, aby se změna provedená transakcí v databázi stala trvalou. Na druhou stranu, pokud se transakce z nějakého důvodu provede úspěšně, pak ROLLBACK příkaz zruší všechny aktualizace hned od prvního výpisu aktuální transakce.

Pojďme diskutovat o rozdílu mezi příkazy Commit a ROLLBACK v SQL pomocí srovnávací tabulky níže.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníSPÁCHATROLLBACK
ZákladníCOMMIT potvrdí změny provedené aktuální transakcí.ROLLBACK vymaže změny provedené aktuální transakcí.
ÚčinekPo provedení příkazu COMMIT nemůže být transakce ROLLBACK.Jakmile je ROLLBACK spuštěn, databáze dosáhne svého předchozího stavu, tj. Před provedením prvního výpisu transakce.
VýskytCOMMIT nastane, když je transakce úspěšně provedena.ROLLBACK nastane, když je transakce přerušena uprostřed provádění.
SyntaxSPÁCHAT;ROLLBACK;

Definice COMMIT

SPÁCHAT je příkaz SQL, který signalizuje úspěšný dokončení transakce. Kdykoli transakce dokončí své provedení bez jakéhokoli přerušení, změny provedené v databázi transakcí se stávají trvalými. Což znamená, že databáze nemůže získat zpět své předchozí stavy, ve kterých byla před provedením prvního příkazu transakce.


Syntaxe příkazu COMMIT je následující:

SPÁCHAT;

Po ukončení posledního výpisu transakce se transakce stane částečně oddaný. Další, protokoly obnovy zajistit, aby i selhání systému nemohlo databázi umožnit trvalé změny. Jakmile je toto zaškrtnuto, bod odevzdání transakce dosáhla a transakce nakonec vstoupila do angažovaný stát. Jakmile transakce přejde do potvrzeného stavu, nelze ji vrátit zpět a začíná nová transakce.

Definice ROLLBACK

Stejně jako COMMIT, ROLLBACK je také příkaz SQL a signalizuje, že transakce má ne byla dokončena úspěšně. Transakce tedy probíhá přerušeno zrušit změny provedené transakcí. Po provedení ROLLBACKu se nezmění žádné změny provedené aktuální transakcí.


Syntaxe ROLLBACK je následující:

ROLLBACK;

Transakce ROLLBACK je nezbytná, pokud dojde k chybě během provádění transakce. Chyba může být selhání systému, výpadek napájení, chyba v příkazech transakce, selhání systému. V případě výpadku napájení nebo selhání systému dojde k ROLLBACK, když se systém restartuje znovu. ROLLBACK může nastat pouze v případě, že COMMIT dosud nebyl proveden.

  1. Hlavní rozdíl mezi příkazy SQL COMMIT a ROLLBACK spočívá v tom, že provádění příkazu COMMIT způsobí, že všechny změny provedené aktuální transakcí budou trvalé. Na druhé straně provedení ROLLBACKu vymaže všechny úpravy provedené aktuální transakcí.
  2. Jakmile je příkaz COMMIT proveden, nemůže být změna provedená transakcí ROLLBACK. Jakmile je však příkaz ROLLBACK proveden, databáze dosáhne předchozího stavu.
  3. COMMIT se provede po úspěšném provedení příkazů k transakcím. ROLLBACK se však provede, když se transakce neprovede úspěšně.

Závěr:

Chcete-li zajistit, aby změny provedené transakcí byly trvale uloženy v databázi, použijte COMMIT po úspěšném dokončení transakce. V případě, že transakce čelí jakékoli chybě při provádění, pak se vrátí zpět změny provedené transakcí, použije se ROLLBACK.