The figure shows the transaction control flow for procedure proc1, which calls autonomous procedure proc2.
The body of proc1 has, in this order: BEGIN, assignment statement, SELECT statement, call to proc2, DELETE statement, COMMIT statement, END.
The body of proc2 has, in this order: BEGIN, assignment statement, UPDATE statement, INSERT statement, another UPDATE statement, COMMIT statement, END.
At the INSERT statement in proc1, the main transaction begins. At BEGIN in proc2, the main transaction is suspended. At the first UPDATE statement in proc2, the autonomous transaction begins. At the COMMIT statement in proc2, the autonomous transaction ends. At the END in proc2, the main transaction resumes. At the COMMIT statement in proc1, the main transaction ends.