El Disparador/Trigger.

 Disparadores/Triggers.


Un disparador define una acción que la base de datos debe llevar a cabo cuando se produce algún

suceso relacionado con la misma. Los disparadores (triggers) pueden utilizarse para completar la

integridad referencial, también para imponer reglas de negocio complejas o para auditar cambios en

los datos. El código contenido en un disparador, denominado cuerpo del disparador, está formado

por bloques PL/SQL. La ejecución de disparadores es transparente al usuario.

Existen varios tipos de disparadores, dependiendo del tipo de transacción de disparo y el nivel en el

que se ejecuta el disparador (trigger):


1.- Disparadores de nivel de fila: se ejecutan una vez para cada fila afectada por una instrucción DML.

Los disparadores de nivel de fila se crean utilizando la cláusula "for each row" en el comando "create

trigger".


2.- Disparadores de nivel de instrucción: se ejecutan una vez para cada instrucción DML. Por ejemplo,

si una única instrucción INSERT inserta 500 filas en una tabla un disparador de nivel de instrucción

para dicha tabla sólo se ejecutará una vez. Los disparadores de nivel de instrucción son el tipo

predeterminado que se crea con el comando create trigger.


3.- Disparadores Before y After: puesto que los disparadores son ejecutados por sucesos, puede

establecerse que se produzcan inmediatamente antes (before) o después (after) de dichos sucesos.


4.- Disparadores Instead Of: puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer

en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podría usar un disparador

INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar múltiples tablas

que son parte de una vista.


5.- Disparadores de esquema: puede crear disparadores sobre operaciones en el nivel de esquema

tales como create table, alter table, drop table, audit, rename, truncate y revoke. Puede incluso crear

disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los

disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y

proporcionar una seguridad adicional que controle las operaciones DDL cuando éstar se producen.


6.- Disparadores en nivel de base de datos: puede crear disparadores que se activen al producirse

sucesos de la base de datos, incluyendo errores, inicios de sesión, conexiones y desconexiones.

Puede utilizar este tipo de disparador para automatizar el mantenimiento de la base de datos o las

acciones de auditoría.

Comentarios

Entradas populares