Está en la página 1de 12

DISPARADORES O

TRIGGERS EN SQL Y
PARA QUE SIRVEN
Base de Datos
II


Jose Manuel Quiñones Castro

Nicolas Mompala Vega

Miguel Villarino Amador

Juan Antonio Nuñez Figueroa

Dania Sugey Cota
01
¿Qué es un Trigger?
Un trigger o disparador es un script que se usa en
lenguaje de programación SQL, en especial en bases de
datos como MySQL o PostgreSQL.
Consiste en una serie de reglas predefinidas
que se asocian a una tabla. Estas reglas se
aplican a la base de datos cuando se realizan
determinadas operaciones en la tabla, por
ejemplo, al añadir, actualizar o eliminar
registros.

Dicho de otra manera, el trigger Estos disparadores se llevan usando en


desencadena determinadas acciones de MySQL desde la versión 5.0.2., mientras que
forma automática en las tablas de la base de PostgreSQL ya los incluyó en el año 1997.
datos cuando se insertan, modifican y se
añaden nuevos datos.
¿Para qué sirve?
La principal función de los Otra de sus funciones es Por otra parte, entre sus
trigger es contribuir a mejorar la aumentar la seguridad e principales ventajas es que todas
gestión de la base de datos. integridad de la información. estas funciones se pueden
Gracias a ellos muchas Esto lo consiguen gracias a la realizar desde la propia base de
operaciones se pueden realizar programación de restricciones o datos, es decir, no es necesario
de forma automática, sin requerimientos de verificación recurrir a lenguajes externos de
necesidad de intervención que permiten minimizar los programación.
humana, lo que permite ahorrar errores y sincronizar la
mucho tiempo. información.
¿Cuándo se puede usar un Trigger?
Los trigger se puede ejecutar cuando el usuario realizar alguna
acción relacionada con añadir, actualizar o eliminar información de
una tabla. Es decir, al usar los comandos INSERT, UPDATE o
DELETE.

Por tanto, para poder usar un trigger es necesario que el usuario


posea permisos INSERT y DELETE en dicha base de datos.
Estructura de un Trigger
La estructura y modo de funcionamiento de un trigger se puede resumir en
tres pasos:

1. Se produce una llamada de activación al código que se ha de ejecutar.


2. Aplica las restricciones necesarias para poder realizar la acción, por ejemplo, una
determinada condición o una nulidad.
3. Una vez verificadas las restricciones, se ejecuta la acción, en base a las instrucciones
recibidas en el primer punto.
Tipos de trigger
Existen diferentes tipos de 
Disparadores de fila: también llamados row
triggers, son aquellos cuya ejecución se
disparadores, en función de las realiza a través de llamadas desde una tabla
ejecuciones que realizan. asociada al trigger.

Disparadores de secuencia. también llamados
statement triggers, son aquellos que se
ejecutan solo una vez, independientemente de
la cantidad de veces que se cumplan las
condiciones para su ejecución.
¿Cuándo ejecuta su acción un Trigger?
Los triggers pueden 
Después de ejecutar la 
Después de modificar la fila
sentencia y de comprobar de la tabla afectada por la
ejecutar su acción sentencia del trigger, y de
las restricciones y
en diferentes condiciones aplicables comprobar las restricciones
momentos: (after statement) y condiciones de ejecución
(after row)


Antes de ejecutar la 
Antes de modificar la fila de
sentencia (before la tabla afectada por la
sentencia del trigger, y de
statement) comprobar las restricciones
y condiciones de ejecución
(before row)
Características y posibles efectos

Por otra, no están habilitados para Respecto a sus posibles efectos,


la ejecución de comandos hay que tener en cuenta que si se
ROLLBACK o COMMIT, ya que han programado de forma
estas forman parte de la sentencia incorrecta podrían ocasionar
SQL del trigger. mutaciones en las tablas.
Por una parte, aunque los triggers
podrían almacenar los datos afectados
por las sentencias en tablas
temporales, en principio no aceptan
ningún tipo de argumento o parámetro.
Ejemplos de Trigger
Imagina que quieras duplicar una tabla, en la que se añada de forma
automática la información que se vaya insertando en la tabla original. Bien,
pues para eso tan solo tienes que programar un trigger para que se ejecute
cada vez que insertas un dato en la primera tabla, de forma que dicho dato se
añadirá de forma automática en la segunda.
Sin embargo, esto es solo un ejemplo de los muchos usos que puede
tener un trigger. A efectos prácticos lo podrías programar para casos como
los siguientes:


Crear una copia

Duplicar tablas con 
Bloquear la
automatizada que información inserción de datos
registre cada sincronizada. incorrectos o de
cliente que entra en transacciones
un eCommerce. inválidas.

Contabilizar 
Programar la base
estadísticas sobre de datos para que
accesos a una base se realice un
de datos y las pedido de forma
acciones que se automática cuando

Y mucho más. Los triggers
han llevado a cabo el stock ha legado a tienen numerosas
en ellas. un mínimo posibilidades, de hecho
determinado de tienen tantas que casi se
unidades. podría automatizar por
completo el funcionamiento
de una base de datos.
Gracias

También podría gustarte