Diferencia entre disparadores y cursores

Disparadores vs 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 activadores 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..

Que son los disparadores?

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 activadores 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 los cambios en la base de datos y replicar los datos. Los disparadores más comunes son los activadores del lenguaje de manipulación de datos (DML) que se activan cuando se manipulan los datos. Algunos sistemas de base de datos admiten desencadenadores que no son de datos, que se activan cuando se producen eventos del lenguaje de definición de datos (DDL). Algunos ejemplos son desencadenadores que se activan cuando se crean las tablas, durante las operaciones de confirmación o retrotracción, etc. Estos desencadenantes se pueden utilizar especialmente para la auditoría. El sistema de base de datos de Oracle admite desencadenantes de nivel de esquema (es decir, desencadenantes que se activan cuando se modifican los esquemas de base de datos) como Después de la creación, Antes de modificar, Después de modificar, Antes de descartar, Después de descartar, etc. Activadores de nivel de columna, activadores de cada tipo de fila y activadores de cada tipo de instrucción.

Que 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 atravesar registros en una base de datos, los cursores también facilitan la recuperación de datos, la adición y eliminación de registros. Al definir la forma correcta, los cursores también se pueden utilizar para desplazarse hacia atrás. Cuando una consulta SQL devuelve un conjunto de filas, éstas se procesan realmente utilizando cursores. Un cursor debe ser declarado y asignado un nombre, antes de que pueda ser utilizado. Luego, el cursor debe abrirse usando el comando ABRIR. Esta operación colocaría el cursor justo antes de la primera fila del conjunto de registros de resultados. Luego, el cursor debe realizar la operación FETCH para obtener realmente una fila de datos en la aplicación. Finalmente, el cursor debe cerrarse usando la operación CERRAR. Los cursores cerrados se pueden abrir de nuevo.

¿Cuál es la diferencia entre Triggers 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 que se utiliza en las bases de datos para recorrer los registros de la base de datos. Un cursor puede ser declarado y utilizado dentro de un disparador. En tal situación, la declaración de declaración estaría dentro del activador. Entonces el alcance del cursor se limitaría a ese disparador. Dentro de un disparador, si se declara un cursor en una tabla insertada o eliminada, dicho cursor no sería accesible desde un disparador anidado. Una vez que se completa un disparador, todos los cursores creados dentro del disparador se desasignarán.