Громадянам України

Яка різниця між COMMIT і відкатом у SQL Server?

Оператор COMMIT у SQL під час виконання постійно змінює таблицю бази даних. Інструкція ROLLBACK у SQL допомагає користувачам скасувати зміни до того, як вони будуть змінені в таблиці бази даних. Оператор COMMIT не можна повернути назад і не повертає попередній стан.

Команда COMMIT використовується після успішного завершення транзакції. Команда ROLLBACK використовується, коли транзакція не виконується через неправильне виконання, збій системи або збій живлення. Після виконання команди COMMIT поточний стан транзакції стає постійно видимим для всіх користувачів.

Команда відкату може бути виконана, лише якщо користувач не виконав команду COMMIT для поточної транзакції чи оператора. У наведеному вище прикладі ми видалимо всі ті записи з таблиці EMPLOYEES, вік яких становить 27 років, а потім виконаємо запит ROLLBACK, щоб отримати видалені записи з таблиці EMPLOYEES.

Транзакцію не можна відкотити після виконання оператора COMMIT TRANSACTION, за винятком випадків, коли COMMIT TRANSACTION пов’язано з вкладеною транзакцією, яка міститься в транзакції, що відкочується.

Використовуйте оператор COMMIT щоб завершити вашу поточну транзакцію та зробити постійними всі зміни, внесені в транзакцію. Транзакція — це послідовність інструкцій SQL, які Oracle Database сприймає як єдине ціле. Цей оператор також стирає всі точки збереження в транзакції та знімає блокування транзакції.

Як ми знаємо, операція COMMIT зберігає зміни, зроблені в транзакції, до бази даних, тоді як ROLLBACK скасовує ці зміни. Загалом це спостерігається COMMIT є швидшим процесом, ніж операція ROLLBACK.