The PRAGMA AUTONOMOUS_TRANSACTION autonomous transaction application can define one or several autonomous transactions in one of your transactions (outer transactions. An autonomous transaction can be committed independently without affecting the outer transaction. Similarly, the rollback of the outer transaction does not affect the autonomous transaction. Generally, you can consider defining an autonomous transaction as a process that is called in an outer transaction. That is, the current stored procedure runs as a sub-transaction of an existing transaction. The commit and rollback operations of the sub-transaction do not affect the state of the parent transaction applied to (1) Anonymous blocks (2) triggers (3) example of a stored PROCEDURE: PROCEDURE addrowautonomous (pid IN tlog. id % TYPE, pldate IN tlog. ldate % TYPE, plhsecs IN tlog. lhsecs % TYPE, pllevel IN tlog. llevel % TYPE, plsection IN tlog. lsection % TYPE, pluser IN tlog. luser % TYPE, pltexte IN tlog. ltexte % TYPE) is pragma AUTONOMOUS_TRANSACTION; BEGIN addrow (pid => pid, pldate => pldate, plhsecs => plhsecs, pllevel => pllevel, plsection => plsection, pluser => pluser, pltexte => pltexte); COMMIT; exception when others then plog. error; ROLLBACK; RAISE; END; autonomous transactions can be used to record debugging information in the custom program PROCEDURE insert_cux_debug_info (........) is pragma AUTONOMOUS_TRANSACTION ;........ begin insert into cux_debug_info VALUES ........; COMMIT; END;