Не само, че тригерите не се нуждаят от COMMIT, вие не можете да поставите такъв:тригерът няма да се компилира, ако кодът на тялото включва COMMIT (или връщане назад).
Това е така, защото тригерите се задействат по време на транзакция. Когато тригерът се задейства, текущата транзакция все още не е завършена. Тъй като COMMIT прекратява транзакция, разрешаването им в тригери би нарушило работната единица.
Така че промените, изпълнени в тригер, се извършват (или се връщат назад) от притежаващата транзакция, която е издала DML, който е задействал тригера.
Вярно е, че тригерите могат да се изпълняват под PRAGMA AUTONOMOUS_TRANSACTION, в който случай те трябва да имат COMMIT. Но това е краен случай, тъй като има малко смислени употреби на вложени транзакции в Oracle.