Nie tylko wyzwalacze nie potrzebują polecenia COMMIT, w którym nie można go umieścić:wyzwalacz nie skompiluje się, jeśli kod treści zawiera polecenie COMMIT (lub wycofanie).
Dzieje się tak, ponieważ wyzwalacze uruchamiają się podczas transakcji. Po uruchomieniu wyzwalacza bieżąca transakcja nadal nie jest zakończona. Ponieważ COMMIT kończy transakcję, pozwalając im na uruchomienie wyzwalaczy, złamałoby jednostkę pracy.
Tak więc zmiany wykonane w wyzwalaczu są zatwierdzane (lub wycofywane) przez transakcję będącą właścicielem, która wydała DML, który uruchomił wyzwalacz.
Prawdą jest, że wyzwalacze mogą działać pod PRAGMA AUTONOMOUS_TRANSACTION, w takim przypadku muszą mieć COMMIT. Ale jest to skrajny przypadek, ponieważ istnieje niewiele sensownych zastosowań zagnieżdżonych transakcji w Oracle.