|Oracle® Database PL/SQL Language Reference
11g Release 2 (11.2)
Part Number E17126-03
AUTONOMOUS_TRANSACTION pragma can appear only in the
declare_section of a routine.
In this context, a routine is one of these:
Schema-level (not nested) anonymous PL/SQL block
Standalone, package, or nested subprogram
Method of an ADT
When an autonomous routine is invoked, the main transaction is suspended. The autonomous transaction is fully independent of the main transaction: they share no locks, resources, or commit dependencies. The autonomous transaction does not affect the main transaction.
Changes made by an autonomous transaction become visible to other transactions when the autonomous transaction commits. They become visible to the main transaction when it resumes only if its isolation level is
COMMITTED (the default).
In this chapter:
In other chapters: