La estructura básica de un trigger es:
- Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
- Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
- Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL.
Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.
Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
- Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger
- Statement Triggers (o Disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
¿PARA QUE NOS SIRVE UN TRIGGER?
Son ampliamente empleados en la personalizacion de la Administracion de la BD por ejemplo: un TRIGGER puede reestringir las operaciones DML sobre una tabla en particular en ciertas horas del dia, durante una o varias semanas o incluso meses.Otras aplicaciones de los TRIGGERS pueden ser las siguientes:1.- Generacion automatica de valores derivados de una columna2.- Prevenir transacciones invalidas3.- Proporcionar auditorias sofisticadas4.- Mantener la sincronia en tablas replicadas5.- Generar estadisticas de acceso6.- Modificar los valores de una vista7.- Publicar informacion de los eventos generados por la Bd