An autonomous transaction is a PL/SQL block that contains one or more SQL statements and operates independently of the calling program. Once an autonomous transaction starts, it can do anything that any other transaction can do. This includes issuing commits and rollbacks. Because an autonomous transaction is independent, it has no effect on the calling program's work. For example, if the calling program issues a rollback, any changes made by the autonomous transaction are not undone.An autonomous transaction is a self-contained subprogram that executes independently of the program that calls it. An autonomous transaction can have its own COMMIT and ROLLBACK statements, which enables it to commit or rollback its changes, even if the caller's transaction is rolled back. Autonomous transactions are useful for ensuring data integrity, even if the containing transaction fails.An autonomous transaction is an independent transaction that can be committed or rolled back without affecting the main transaction. Autonomous transactions are useful for tasks that cannot be included in the main transaction, such as auditing or logging.Autonomous transactions are created using the AUTONOMOUS_TRANSACTION pragma. This pragma tells the PL/SQL compiler to treat a subprogram as an autonomous transaction. The subprogram can then have its own COMMIT and ROLLBACK statements, which do not affect the enclosing program.