Niet alleen hebben triggers geen COMMIT nodig waar je er ook geen kunt plaatsen:een trigger wordt niet gecompileerd als de body-code een COMMIT (of een rollback) bevat.
Dit komt omdat er tijdens een transactie brand wordt geactiveerd. Wanneer de trigger wordt geactiveerd, is de huidige transactie nog steeds niet voltooid. Als COMMIT een transactie beëindigt, zou het toestaan van triggers de werkeenheid breken.
Wijzigingen die in een trigger worden uitgevoerd, worden dus vastgelegd (of teruggedraaid) door de eigenaarstransactie die de DML heeft uitgegeven die de trigger heeft geactiveerd.
Het is waar dat triggers kunnen worden uitgevoerd onder de PRAGMA AUTONOMOUS_TRANSACTION, in welk geval ze een COMMIT moeten hebben. Maar dit is een randgeval, aangezien er weinig zinvolle toepassingen zijn van geneste transacties in Oracle.