Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Triggers
Disparadores (Triggers)
Módulo: Bases de Datos con MySQL Workbench
Contenido
1. Triggers (Disparadores).................................................................................... 3
a. Definición de un trigger............................................................................................................3
b. Eliminación de un trigger.........................................................................................................6
1. Triggers (Disparadores)
Un disparador es un objeto con nombre dentro de una base de datos el cual se asocia con una tabla
y se activa cuando ocurre en ésta un evento en particular.
Algunos usos para los disparadores es verificar valores a ser insertados o llevar a cabo cálculos
sobre valores involucrados en una actualización.
Un disparador se asocia con una tabla y se define para que se active al ocurrir una sentencia INSERT,
DELETE, o UPDATE sobre dicha tabla. Puede también establecerse que se active antes o después
de la sentencia en cuestión. Por ejemplo, se puede tener un disparador que se active antes de que
un registro sea borrado, o después de que sea actualizado.
a. Definición de un trigger
Para crear un disparador o trigger debes utilizar el comando CREATE TRIGGER, a como se describe
a continuación.
Sintaxis:
Donde:
Observación:
»» No puede haber dos disparadores en una misma tabla que correspondan al mismo momento
y evento.
»» La tabla a la cual se asocie un disparador debe ser permanente, no puede ser una tabla
temporal ni una vista.
Ejemplo #1:
Al igual que en los procedimientos almacenados y funciones, antes de crear un trigger debes
cambiar el carácter de escape predeterminado de MySQL por otro (por ejemplo: //), y luego volver
nuevamente al punto y coma (;).
Ejemplo #2:
Observa el ejemplo de la figura #18, el evento que activará al disparador es un INSERT y el momento
de activación será antes (BEFORE) de que se inserte un registro sobre la tabla ACCOUNT. La
sentencia que ejecutará el disparador al activarse es un SET, el cual acumula en la variable @SUM
los valores de la columna amount de la tabla ACCOUNT por cada nuevo registro a insertarse.
Para utilizar el disparador INS_SUM, se debe establecer el valor de la variable acumulador a cero,
ejecutar una sentencia INSERT, y ver qué valor presenta luego la variable.
Observaciones:
b. Eliminación de un trigger
Donde:
Ejemplo:
Observación:
»» El usuario que ejecute la sentencia DROP TRIGGER necesita tener asignado el privilegio/
permiso SUPER.
Bibliografía.
1. https://manuales.guebs.com/mysql-5.0/triggers.html#drop-trigger
Disparadores, año 2015. Web oficial: guebs.com
2. http://www.solucionjava.com/pdf/Curso_MySQL.pdf
Curso de programación en MySQL 5, año 2007. Publicado por: Ing. Cedric Simón