Różnica między COMMIT a ROLLBACK w SQL

Autor: Laura McKinney
Data Utworzenia: 1 Kwiecień 2021
Data Aktualizacji: 12 Móc 2024
Anonim
Różnica między COMMIT a ROLLBACK w SQL - Technologia
Różnica między COMMIT a ROLLBACK w SQL - Technologia

Zawartość


COMMIT i ROLLBACK to dwie instrukcje transakcyjne, które są używane do przeprowadzania, wykonywania lub cofania transakcji. Transakcja może zawierać sekwencję zapytań lub instrukcje aktualizacji modyfikujące bazę danych. Podstawowa różnica między COMMIT a ROLLBACK polega na ich działaniu. Jeśli transakcja zostanie pomyślnie wykonana, wówczas POPEŁNIĆ instrukcja pozwala, aby modyfikacja dokonana przez transakcję w bazie danych stała się trwała. Z drugiej strony, jeśli transakcja z jakiegoś powodu zakończy się powodzeniem, to ROLLBACK instrukcja anuluje wszystkie aktualizacje, począwszy od pierwszego wyciągu z bieżącej transakcji.

Omówmy różnicę między instrukcjami Commit i ROLLBACK w SQL za pomocą tabeli porównawczej pokazanej poniżej.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaPOPEŁNIĆROLLBACK
PodstawowyCOMMIT sprawdza zmiany wprowadzone w bieżącej transakcji.ROLLBACK usuwa modyfikacje dokonane przez bieżącą transakcję.
EfektPo wykonaniu instrukcji COMMIT transakcja nie może zostać ODWRACANA.Po wykonaniu ROLLBACK baza danych osiąga swój poprzedni stan, tj. Przed wykonaniem pierwszej instrukcji transakcji.
WystępowanieCOMMIT występuje, gdy transakcja zostanie pomyślnie wykonana.ROLLBACK występuje, gdy transakcja zostanie przerwana w trakcie wykonywania.
SkładniaPOPEŁNIĆ;ROLLBACK;

Definicja COMMIT

POPEŁNIĆ jest instrukcją SQL, która sygnalizuje odnoszący sukcesy zakończenie transakcji. Ilekroć transakcja zakończy się bez przerw, modyfikacje dokonane w bazie danych przez transakcję stają się trwałe. Co oznacza, że ​​baza danych nie może odzyskać swoich poprzednich stanów, w których znajdowała się przed wykonaniem pierwszej instrukcji transakcji.


Składnia instrukcji COMMIT jest następująca:

POPEŁNIĆ;

Po zakończeniu ostatniego wyciągu z transakcji transakcja staje się częściowo zaangażowany. Następnie protokoły odzyskiwania upewnij się, że nawet awaria systemu nie uniemożliwi bazy danych, aby modyfikacje były trwałe. Jak tylko to zostanie zaznaczone, punkt zatwierdzenia transakcja osiągnęła i ostatecznie transakcja zawiera państwo popełnione. Gdy transakcja przejdzie w stan zatwierdzony, nie można jej przywrócić i rozpoczyna się nowa transakcja.

Definicja ROLLBACK

Jak COMMIT, ROLLBACK jest również instrukcją SQL i oznacza, że ​​transakcja ma nie zostało ukończone z powodzeniem. Dlatego transakcja jest niedonoszony aby cofnąć zmiany dokonane przez transakcję. Po wykonaniu funkcji ROLLBACK nie zachowuje się żadnych modyfikacji dokonanych przez bieżącą transakcję.


Składnia ROLLBACK jest następująca:

ROLLBACK;

Transakcja ROLLBACK staje się konieczna, jeśli podczas wykonywania transakcji wystąpi błąd. Błąd może oznaczać awarię systemu, awarię zasilania, błąd w instrukcjach transakcji, awarię systemu. W przypadku awarii zasilania lub awarii systemu ROLLBACK występuje, gdy system ponownie się uruchamia. ROLLBACK może wystąpić tylko wtedy, gdy COMMIT nie jest jeszcze wykonany.

  1. Główną różnicą między instrukcjami COMMIT i ROLLBACK języka SQL jest to, że wykonanie instrukcji COMMIT powoduje, że wszystkie modyfikacje dokonane przez bieżącą transakcję stają się trwałe. Z drugiej strony wykonanie funkcji ROLLBACK usuwa wszystkie modyfikacje dokonane przez bieżącą transakcję.
  2. Po wykonaniu instrukcji COMMIT modyfikacja dokonana przez transakcję nie może zostać przywrócona. Jednak po wykonaniu instrukcji ROLLBACK baza danych osiąga poprzedni stan.
  3. COMMIT zostaje wykonany po pomyślnym wykonaniu instrukcji transakcji. Jednak funkcja ROLLBACK jest wykonywana, gdy transakcja nie zostanie pomyślnie wykonana.

Wniosek:

Aby mieć pewność, że zmiany dokonane przez transakcję zostaną trwale zapisane w bazie danych, użyj COMMIT po pomyślnym zakończeniu transakcji. W przypadku, gdy transakcja napotka błąd podczas wykonywania, a następnie w celu cofnięcia zmian dokonanych przez transakcję, używana jest funkcja ROLLBACK.