Препоръчано, 2024

Избор На Редактора

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

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

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

Сравнителна таблица

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

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

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

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

COMMIT;

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

Дефиниция на ROLLBACK

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

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

ROLLBACK;

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

Ключови разлики между COMMIT и ROLLBACK в SQL

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

Заключение:

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

Top