Zalecane, 2024

Wybór Redakcji

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

COMMITand ROLLBACK, to dwie transakcyjne instrukcje, które służą do wykonywania lub cofania transakcji. Transakcja może mieć sekwencję zapytań lub może zawierać instrukcje aktualizacji modyfikujące bazę danych. Podstawowa różnica między COMMIT i ROLLBACK polega na ich działaniu. Jeśli transakcja zostanie pomyślnie wykonana, instrukcja COMMIT zezwoli na to, aby modyfikacja dokonana przez transakcję w bazie danych stała się stała. Z drugiej strony, jeśli transakcja z jakiegoś powodu działa poprawnie, wówczas instrukcja ROLLBACK cofa wszystkie aktualizacje, od pierwszej instrukcji bieżącej transakcji.

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

Wykres porównania

Podstawa do porównaniaPOPEŁNIĆROLLBACK
PodstawowyCOMMIT sprawdza poprawności dokonane przez bieżącą transakcję.ROLLBACK kasuje modyfikacje dokonane przez bieżącą transakcję.
EfektPo wykonaniu instrukcji COMMIT transakcja nie może być ROLLBACK.Po wykonaniu ROLLBACK baza danych osiąga swój poprzedni stan, tj. Przed wykonaniem pierwszego wyciągu 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

COMMIT to instrukcja SQL, która sygnalizuje pomyślne zakończenie transakcji. Za każdym razem, gdy transakcja kończy wykonywanie bez przerw, modyfikacje wprowadzone do bazy danych przez transakcję stają się trwałe. Oznacza to, że baza danych nie może odzyskać swoich poprzednich stanów, w których była, przed wykonaniem pierwszego wyciągu, z transakcji.

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

POPEŁNIĆ;

Po zakończeniu ostatniego wyciągu transakcji transakcja zostaje częściowo zatwierdzona. Następnie protokoły odzyskiwania zapewniają, że nawet awaria systemu nie uniemożliwi bazy danych, aby modyfikacje stały się trwałe. Jak tylko zostanie zaznaczone, punkt zatwierdzenia transakcji zostanie osiągnięty i transakcja przejdzie w stan zatwierdzony . Gdy transakcja przejdzie do stanu zatwierdzonego, nie można jej wycofać i rozpoczyna się nowa transakcja.

Definicja ROLLBACK

Podobnie jak COMMIT, ROLLBACK jest również instrukcją SQL i sygnalizuje, że transakcja nie zakończyła się pomyślnie . Dlatego transakcja jest przerywana, aby cofnąć zmiany dokonane przez transakcję. Po wykonaniu ROLLBACK nie zachodzi żadna modyfikacja wykonana przez bieżącą transakcję.

Składnia ROLLBACK jest następująca:

ROLLBACK;

ROLLBACK transakcji staje się konieczny, jeśli wystąpi błąd podczas wykonywania transakcji. Błąd może polegać na awarii systemu, zaniku zasilania, błędzie w instrukcjach transakcji, awarii systemu. W przypadku awarii zasilania lub awarii systemu, ROLLBACK występuje, gdy system zostanie ponownie uruchomiony. ROLLBACK może wystąpić tylko wtedy, gdy COMMIT nie jest jeszcze wykonany.

Kluczowe różnice między COMMIT i ROLLBACK w SQL

  1. Główna różnica między instrukcjami COMMIT i ROLLBACK SQL polega na tym, że wykonanie instrukcji COMMIT powoduje, że wszystkie modyfikacje dokonane przez bieżącą transakcję stają się trwałe. Z drugiej strony wykonanie ROLLBACK usuwa wszystkie modyfikacje dokonane przez bieżącą transakcję.
  2. Po wykonaniu polecenia COMMIT modyfikacja dokonana przez transakcję nie może być ROLLBACK. Jednak po wykonaniu instrukcji ROLLBACK baza danych osiąga swój poprzedni stan.
  3. COMMIT zostaje wykonany po pomyślnym wykonaniu transakcji. Jednak ROLLBACK jest wykonywany, gdy transakcja nie zostanie pomyślnie wykonana.

Wniosek:

Aby upewnić się, że zmiany dokonane przez transakcję są trwale zapisane w bazie danych, użyj polecenia COMMIT po pomyślnym zakończeniu transakcji. W przypadku, gdy transakcja napotka na błąd podczas wykonywania, a następnie cofnie zmiany dokonane przez transakcję, użyty zostanie ROLLBACK.

Top