Rozdíl mezi COMMIT a ROLLBACK v SQL
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.
- Srovnávací tabulka
- Definice
- Klíčové rozdíly
- Závěr
Srovnávací tabulka
Základ pro srovnání | SPÁCHAT | ROLLBACK |
---|---|---|
Základní | COMMIT potvrdí změny provedené aktuální transakcí. | ROLLBACK vymaže změny provedené aktuální transakcí. |
Účinek | Po 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ýskyt | COMMIT nastane, když je transakce úspěšně provedena. | ROLLBACK nastane, když je transakce přerušena uprostřed provádění. |
Syntax | SPÁ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.
- 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í.
- 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.
- 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.