Після здійснення транзакції зазвичай надається можливість з'ясувати, чи успішним було її виконання. Транзакцію можна скасувати навіть у разі її успішного виконання, застосувавши команду ROLLBACK (але вона має бути виконана до команди COMMIT). У цьому випадку база даних набуває того ж вигляду, який вона мала до виконання транзакції. Можна також вказати так звані точки збереження (save-point), або контрольні точки.
Загальний синтаксис команди ROLLBACK є таким:
ROLLBACK [TRANSACTION] [TO SAVEPOINT <ім'я точки збереження>]
Розглянемо приклад.
BEGIN TRANSACTION
INSERT INTO ФАКУЛЬТЕТ VALUES (1. "інформатики". "Іванов". "2/b". 42000) ROLLBACK TRANSACTION
INSERT INTO ФАКУЛЬТЕТ VALUES (1. "економіки". "Петров". "З/а". 47000) COMMIT
У таблицю ФАКУЛЬТЕТ буде вставлено лише відомості про факультет економіки, оскільки після додавання першого рядка відбувається скасування транзакції (додавання першого рядка анулюється).
Після застосування команди COMMIT усі дії, що є в транзакції, виконуються. Відміна транзакції призводить до скасування всіх дій, виконаних до моменту застосування команди ROLLBACK TRANSACTION.
За допомогою точок збереження можна скасовувати не всі виконані з початку транзакції дії, а лише їх частину. Синтаксис оголошення точки збереження є таким:
SAVEPOINT <ім'я точки збереження> Розглянемо приклад.
BEGIN TRANSACTION
UPDATE КАФЕДРА
SET Фонд = Фонд + Фонд/10 WHERE Корпус = "2/3"
SAVEPOINT save_it
DELETE FROM КАФЕДРА WHERE Корпус - "2/3"
ROLLBACK TO SAVEPOINT save_it COMMIT
Видалення рядків не відбудеться, оскільки здійснюється повернення до точки збереження save_it, що означена до команди видалення.