Nejenže spouštěče nepotřebují COMMIT, ale nemůžete ho vložit:spouštěč se nezkompiluje, pokud kód těla obsahuje COMMIT (nebo vrácení zpět).
Je to proto, že během transakce spouští požár. Když se spustí aktivační událost, aktuální transakce stále není dokončena. Protože COMMIT ukončí transakci, která by jim umožnila spouštět, narušilo by to jednotku práce.
Změny provedené ve spouštěči jsou tedy potvrzeny (nebo vráceny zpět) vlastní transakcí, která vydala DML, který spouštěč spustil.
Je pravda, že triggery mohou běžet pod PRAGMA AUTONOMOUS_TRANSACTION, v takovém případě musí mít COMMIT. Ale to je okrajový případ, protože v Oracle existuje jen málo smysluplných použití vnořených transakcí.