Una transacción autónoma es un tipo de transacción que se utiliza en la línea de programas de software de base de datos de Oracle®. En el sentido más simple del término, una transacción autónoma es una transacción que ocurre y se completa como parte de otra transacción. Durante las transacciones autónomas, el software de la computadora detiene el procesamiento de la transacción original, ramificándose para recuperar la información o completar el proceso requerido por la transacción autónoma. Una vez que ha obtenido un resultado para la transacción autónoma, continúa exactamente donde lo dejó en el procesamiento de la transacción original.
Las transacciones autónomas se utilizan normalmente cuando un operador de base de datos desea dividir una transacción más compleja en sus partes componentes. Por ejemplo, si el operador de la base de datos desea producir una lista de todos los empleados que ganan más de $ 60,000 dólares estadounidenses (USD) al año y luego desea subdividir esa lista en solo los empleados menores de 30 años, usar una transacción autónoma sería permitir que el operador divida la solicitud en dos partes. Primero, la computadora recopilará una lista de todos los empleados que ganan $ 60,000 USD. En medio de esta operación, resolverá la segunda parte de la solicitud para completar la transacción autónoma, seleccionando solo a aquellos empleados de la lista de $ 60,000 USD o más que también sean menores de 30 años.
Una de las principales ventajas de las transacciones autónomas es que proporcionan una mayor simplicidad al llamar a las operaciones de la base de datos. Al dividir las cosas en sus partes componentes, puede resultar más fácil para un operador de base de datos visualizar cada paso del proceso, lo que facilita el proceso de codificación de la solicitud real. Una segunda ventaja de las transacciones autónomas es que pueden anidarse unas dentro de otras; un operador de base de datos calificado puede programar una transacción que llama a una transacción autónoma donde la transacción autónoma luego llama a cualquier número de transacciones autónomas adicionales. Esto mejora drásticamente la flexibilidad del software de transacciones de la base de datos de Oracle, lo que permite codificar fácilmente transacciones más complejas.
Cada transacción que ocurre en el programa es rastreada por el propio software con fines de auditoría. Esto permite a las personas revisar las transacciones que se han solicitado de la base de datos. Escribir transacciones en forma autónoma puede ayudar a simplificar el procedimiento de auditoría, ya que es mucho más fácil dar sentido a una serie de transacciones simples secuenciales que una sola declaración compleja.