Разлика между COMMIT и ROLLBACK в SQL

Автор: Laura McKinney
Дата На Създаване: 1 Април 2021
Дата На Актуализиране: 12 Може 2024
Anonim
Разлика между COMMIT и ROLLBACK в SQL - Технология
Разлика между COMMIT и ROLLBACK в SQL - Технология

Съдържание


COMMIT и ROLLBACK, са двата транзакционни оператора, които се използват, правят или отменят транзакциите. Една транзакция може да има последователност от запитвания или може да има извлеченията за актуализация, които променят базата данни. Основната разлика между COMMIT и ROLLBACK се крие в тяхната работа. Ако транзакцията е успешно изпълнена, тогава COMMIT оператор позволява промените, направени от транзакцията в базата данни, да станат постоянни. От друга страна, ако транзакцията поради някаква причина се изпълни успешно, тогава ROLLBACK оператор отменя всички актуализации, още от първото изявление на текущата транзакция.

Нека да обсъдим разликата между изразите на комитет и ROLLBACK в SQL с помощта на сравнителната диаграма, показана по-долу.

  1. Сравнителна диаграма
  2. дефиниция
  3. Ключови разлики
  4. заключение

Сравнителна диаграма

Основа за сравнениеCOMMITROLLBACK
ОсновенCOMMIT валидира промените, направени от текущата транзакция.ROLLBACK изтрива промените, направени от текущата транзакция.
ефектСлед изпълнение на изявление COMMIT транзакцията не може да бъде ROLLBACK.След като ROLLBACK се изпълни, базата данни достига предишното си състояние, т.е. преди изпълнението на първото изявление на транзакцията.
явлениеCOMMIT възниква, когато транзакцията се изпълни успешно.ROLLBACK възниква, когато транзакцията е прекъсната в средата на изпълнението.
СинтаксисCOMMIT;ROLLBACK;

Определение за COMMIT

COMMIT е SQL изявление, което сигнализира на успешен приключване на транзакция. Всеки път, когато една транзакция завърши изпълнението си без прекъсване, промените, направени в базата данни, от транзакцията стават постоянни. Което означава, че базата данни не може да възвърне предишните си състояния, в които е била, преди изпълнението на първото изявление, на транзакцията.


Синтаксисът на COMMIT оператора е както следва:

COMMIT;

С приключването на последното изявление на транзакцията става транзакцията частично ангажиран, На следващо място протоколи за възстановяване уверете се, че дори системна повреда не би могла да не успее в базата данни, за да направи промените постоянни. Веднага след като това се провери, ангажирайте точка от транзакцията е достигнала и накрая транзакцията влиза в a ангажирана държава, След като транзакцията влезе в ангажирано състояние, тя не може да бъде върната назад и започва нова транзакция.

Определение за ROLLBACK

Като COMMIT, ROLLBACK също е SQL израз и сигнализира, че транзакцията има не е завършен успешно, Следователно транзакцията е недоносен за да отмените извършените от транзакцията промени. След изпълнението на ROLLBACK не се запазват промени, извършени от текущата транзакция.


Синтаксисът на ROLLBACK е както следва:

ROLLBACK;

Транзакция ROLLBACK става необходима, ако възникне грешка по време на изпълнение на транзакция. Грешката може да бъде отказ на системата, прекъсване на захранването, грешка в извлеченията за транзакции, срив на системата. В случай на прекъсване на захранването или срив на системата, ROLLBACK възниква, когато системата се рестартира отново. ROLLBACK може да възникне само ако COMMIT все още не е изпълнен.

  1. Основната разлика между операторите COMMIT и ROLLBACK на SQL е, че изпълнението на оператора COMMIT прави всички промени, направени от текущата транзакция, да станат постоянни. От друга страна, изпълнението на ROLLBACK изтрива всички модификации, направени от текущата транзакция.
  2. След като операторът COMMIT изпълни промените, направени от транзакцията, не може да бъде ROLLBACK. Въпреки това, след като операторът ROLLBACK се изпълни, базата данни достига предишното си състояние.
  3. COMMIT се изпълнява при успешното изпълнение на отчетите за транзакциите. ROLLBACK обаче се изпълнява, когато транзакцията не се изпълни успешно.

Заключение:

За да сте сигурни, че промените, направени от транзакцията, се запазват за постоянно в базата данни, използвайте COMMIT след успешното приключване на транзакцията. В случай че транзакцията се сблъска с някаква грешка по време на изпълнение, след това за да отмените извършените от транзакцията промени, се използва ROLLBACK.