Instrukcję transakcyjną ROLLBACK wydaje się, aby:
Źle. Po
COMMIT zmiany są trwałe i ROLLBACK ich nie cofnie.Źle. Zatwierdza transakcję
COMMIT, a nie ROLLBACK.Źle.
ROLLBACK cofa całość; częściowo cofa się do punktu SAVEPOINT.Dobrze.
ROLLBACK przywraca stan sprzed rozpoczęcia transakcji.Transakcja to zbiór operacji wykonywanych „wszystko albo nic”. Instrukcja
ROLLBACK wycofuje wszystkie zmiany dokonane od początku transakcji, przywracając bazę do stanu sprzed niej - stosuje się ją, gdy w trakcie coś pójdzie nie tak i nie chcemy zapisać częściowych modyfikacji. Przeciwieństwem jest COMMIT, który zmiany zatwierdza na stałe. Można też cofnąć się tylko do oznaczonego miejsca poleceniem ROLLBACK TO SAVEPOINT. Dlatego ROLLBACK służy do cofnięcia działania transakcji.Pozostałe odpowiedzi mylą rolę
ROLLBACK z innymi działaniami. Zatwierdzenie transakcji - utrwalenie zmian - wykonuje COMMIT, a nie ROLLBACK. Zatwierdzenie tylko wybranych zmian również nie jest jego zadaniem; do częściowego wycofania służy mechanizm punktów zapisu (SAVEPOINT i ROLLBACK TO). Cofnięcie transakcji po wykonaniu COMMIT jest niemożliwe - zatwierdzone zmiany są trwałe. ROLLBACK cofa zmiany jeszcze niezatwierdzonej transakcji, dlatego ta odpowiedź jest poprawna.