Ваш информатор не прав, если он говорит о триггерах базы данных Oracle:
1) Вы не можете поместить COMMIT в триггер Oracle, который не является автономным:
SQL> create trigger this_wont_work
2 after insert on emp
3 begin
4 commit;
5 end;
6 /
Trigger created.
SQL> insert into emp (empno) values (123)
2 /
insert into emp (empno) values (123)
*
ERROR at line 1:
ORA-04092: cannot COMMIT in a trigger
ORA-06512: at "TONY.THIS_WONT_WORK", line 2
ORA-04088: error during execution of trigger 'TONY.THIS_WONT_WORK'
2) Если триггер автономен (т. Е. Имеет PRAGMA AUTONOMOUS_TRANSACTION в своем разделе объявления), тогда он может только зафиксировать любые изменения, которые он (триггер) делает.
Нет никакой опасности того, что триггер совершает работу, которую вы выполняли вне этого триггера.
Примечание: использование автономных транзакций в триггерах опасно, за исключением некоторых случаев, потому что действия, выполняемые автономным триггером, будут выполняться, даже если оператор запуска откатывается. Это может легко привести к повреждению данных при неправильном использовании.