Activadores frente a cursores
En una base de datos, un disparador es un procedimiento (segmento de código) que se ejecuta automáticamente cuando ocurren algunos eventos específicos en una tabla/vista. Entre sus otros usos, los disparadores se utilizan principalmente para mantener la integridad en una base de datos. Un cursor es una estructura de control utilizada en las bases de datos para recorrer los registros de la base de datos. Es muy similar al iterador proporcionado por muchos lenguajes de programación.
¿Qué son los activadores?
Un disparador es un procedimiento (segmento de código) que se ejecuta automáticamente cuando ocurren algunos eventos específicos en una tabla/vista de una base de datos. Entre sus otros usos, los disparadores se utilizan principalmente para mantener la integridad en una base de datos. Los activadores también se utilizan para hacer cumplir las reglas comerciales, auditar cambios en la base de datos y replicar datos. Los disparadores más comunes son los disparadores del lenguaje de manipulación de datos (DML) que se activan cuando se manipulan los datos. Algunos sistemas de bases de datos admiten activadores que no son de datos, que se activan cuando se producen eventos de lenguaje de definición de datos (DDL). Algunos ejemplos son activadores que se activan cuando se crean las tablas, durante las operaciones de confirmación o reversión, etc. Estos activadores se pueden utilizar especialmente para la auditoría. El sistema de base de datos de Oracle admite disparadores de nivel de esquema (es decir, disparadores que se disparan cuando se modifican los esquemas de la base de datos), como después de la creación, antes de alterar, después de alterar, antes de descartar, después de descartar, etc. Los cuatro tipos principales de disparadores admitidos por Oracle son disparadores de nivel de fila, Disparadores de nivel de columna, disparadores de cada tipo de fila y disparadores de cada tipo de instrucción.
¿Qué son los cursores?
Un cursor es una estructura de control utilizada en las bases de datos para recorrer los registros de la base de datos. Es muy similar al iterador proporcionado por muchos lenguajes de programación. Además de recorrer los registros de una base de datos, los cursores también facilitan la recuperación de datos, la adición y la eliminación de registros. Al definir la forma correcta, los cursores también se pueden usar para desplazarse hacia atrás. Cuando una consulta SQL devuelve un conjunto de filas, en realidad se procesan con cursores. Es necesario declarar un cursor y asignarle un nombre antes de poder utilizarlo. Luego, el cursor debe abrirse con el comando ABRIR. Esta operación colocaría el cursor justo antes de la primera fila del conjunto de registros resultante. Luego, el cursor tiene que realizar la operación FETCH para obtener una fila de datos en la aplicación. Finalmente, el cursor debe cerrarse mediante la operación CLOSE. Los cursores cerrados se pueden abrir de nuevo.
¿Cuál es la diferencia entre disparadores y cursores?
Un disparador es un procedimiento (segmento de código) que se ejecuta automáticamente cuando ocurren algunos eventos específicos en una tabla/vista de una base de datos, mientras que un cursor es una estructura de control utilizada en las bases de datos para recorrer los registros de la base de datos. Un cursor se puede declarar y utilizar dentro de un disparador. En tal situación, la declaración de declaración estaría dentro del disparador. Entonces, el alcance del cursor se limitaría a ese disparador. Dentro de un activador, si se declara un cursor en una tabla insertada o eliminada, dicho cursor no será accesible desde un activador anidado. Una vez que se completa un activador, se desasignarán todos los cursores creados dentro del activador.