Está en la página 1de 13

DISPARADORES

BASE DE DATOS I

ALUMNOS DOCENTE
CARMEN RODRIGUEZ FERNANDEZ AMILKAR SIERRA
DIEGO GARCES BARRERO
DISPARADOR
Un trigger o disparador es un objeto que se asocia con tablas y se
almacena en la base de datos. Su nombre se deriva por el
comportamiento que presentan en su funcionamiento, ya que se
ejecutan cuando sucede algún evento sobre las tablas a las que
se encuentra asociado.
Dependiendo la base de Datos, los triggers pueden ser de inserción (INSERT),
actualización(UPDATE) o borrado (DELETE), ya que modifican los datos de una
tabla.
TIPOS DE TRIGGERS

CATEGORÍA VALORES COMENTARIOS

ORDEN INSERT,DELETE,UPDATE Define que tipo de operación DML


provoca la activación del trigger

MOMENTO BEFORE o AFTER Define si el disparador se activa


antes o después de que se ejecute
la operación DML

NIVEL FILA U ORDEN Los disparadores con nivel de fila


se activan una vez por cada fila
afectada por la orden que provocó
el disparo. Los Triggers con nivel
de orden se activan sólo una vez,
antes o después de la orden.Los
disparadores con nivel de fila se
identifican por la cláusula FOR
EACH ROW en la definicióndel
disparador.
ORDEN DE EJECUCIÓN DE TRIGGERS

Triggers DML Triggers DDL


► se ejecutan cuando se realizan ► se ejecutan al realizar eventos de
operaciones de manipulación de datos lenguaje de definición de datos (DDL).
(DML). Los eventos DML son Estos eventos corresponden a
instrucciones INSERT, UPDATE o DELETE instrucciones CREATE, ALTER y DROP.
realizados en una tabla o vista.
SINTAXIS TRIGGERS DML
SINTAXIS TRIGGERS DDL
Utilización de :old y :new en los disparadores con
nivel de fila.
ORDEN DE DISPARO :OLD :NEW

INSERT No definido; todos los campos Valores que serán insertados


toman el valor NULL cuando se complete la orden

UPDATE Valores originales de la fila, antes Nuevos valores que serán escritos
de la actualización cuando se complete la orden.

DELETE Valores originales, antes del No definido; todos los campos


borrado de la fila. toman el valor NULL

:OLD.NOMBRE_COLUMNA :NEW.NOMBRE_COLUMNA
PARA DESHABILITAR UN DISPARADOR

PARA VOLVER A HABILITAR UN DISPARADOR

PARA ELIMINAR UN DISPARADOR


Ejemplo 1:
Implementar un Trigger que permita mostrar un mensaje cada vez que se
inserte o actualice un registro en la tabla pasajero.
EJEMPLO:2

► CREAR UNA TABLA LIBROS QUE ALMACENE LIBROS CON SU ID, TITULO
DEL LIBRO Y NOMBRE DEL AUTOR. EN OTRA TABLA LLAMADA LOG_LIBROS
SE DEBE LLEVAR UN REGISTRO DE LOS CAMBIOS REALIZADOS EN LA TABLA
LIBROS Y DEBE INDICAR EL ID DEL LIBRO, EL CAMBIO REALIZADO (SI SE
ESTA INSERTANDO UN NUEVO LIBRO O SI SE ESTA ELMINANDO UN LIBRO
EXISTENTE) JUNTO AL NOMBRE DEL LIBRO, FECHA EN QUE SE REALIZO EL
CAMBIO Y EL USUARIO QUE REALIZO EL CAMBIO;
MUTACIONES
Una mutación se genera cuando se intenta
romper la consistencia de los datos en una
base de datos, oracle tiene una función
única que clasifica la consistencia de los
datos, cuando un desarrollador intenta
romper esta regla aparece un error de
mutación que detiene al programador e
impide dañar la consistencia de los datos.
TABLAS MUTANTES
Una tabla se convierte en "mutante" cuando intentamos consultar(SELECT) o
modificar (UPDATE,INSERT) en una tabla que ya tenemos bloqueada porque está
cambiando(UPDATE, INSERT, DELETE) provocando así una tabla mutante (ORA-
0491). Los errores de mutación por lo general suelen aparecer en funciones y
disparadores

También podría gustarte