Saltar la navegación

6.1.- Hacer cambios permanentes.

Una transacción comienza cuando se encuentra la primera sentencia SQL ejecutable. Para que los cambios producidos durante la transacción se hagan permanentes (no puedan deshacerse), se dispone de las siguientes opciones:

  • Utilizar la sentencia COMMIT, la cual ordena a la base de datos que haga permanentes las acciones incluidas en la transacción.
  • Ejecutar una sentencia DDL (como CREATE, DROP, RENAME, o ALTER). La base de datos ejecuta implícitamente una orden COMMIT antes y después de cada sentencia DDL.
  • Si el usuario cierra adecuadamente las aplicaciones de gestión de las bases de datos Oracle, se produce un volcado permanente de las cambios efectuados por la transacción.

Para que los cambios se puedan deshacer con ROLLBACK es necesario que la variable de confirmación (AUTOCOMMIT) esté a OFF.  Si está con el valor ON cada sentencia se confirmará tras su ejecución.


Podemos modificar y comprobar su valor, bien desde SQLDeveloper eligiendo la opción Herramientas -> Preferencias , abriendo la opción Avanzada de Base de Datos y marcando o desmarcando la casilla de Confirmación automática, como se muestra en la imagen. 

O bien desde SQLPlus. El comando show autocommit muestra el valor de la variable para la sesión actual. Podemos cambiar el valor de la variable con el comando SET





Autoevaluación

Pregunta

¿Si se cierra correctamente la aplicación gráfica después de haber realizado una operación de modificación de datos, y no se ha indicado la opción de Confirmación automática, ni se ha ejecutado la sentencia COMMIT, se quedan guardados los cambios efectuados por la transacción?

Respuestas

Verdadero.

Falso.

Retroalimentación