Un trigger es un procedimiento almacenado que se ejecuta automáticamente cuando se intentan modificar los datos de una tabla, con el objetivo de mantener la integridad y coherencia de datos entre tablas. Los triggers se definen para una tabla específica y se disparan durante operaciones de inserción, actualización o eliminación, pudiendo ejecutarse antes o después de la acción o en lugar de ella.
2.
Un "trigger" (disparador o desencadenador) es un
tipo de procedimiento almacenado que se ejecuta
cuando se intenta modificar los datos de una tabla
(o vista).
Se definen para una tabla (o vista) específica.
Se crean para conservar la integridad referencial y
la coherencia entre los datos entre distintas tablas.
Si se intenta modificar (agregar, actualizar o
eliminar) datos de una tabla en la que se definió un
disparador para alguna de estas acciones
(inserción, actualización y eliminación), el
disparador se ejecuta (se dispara) en forma
automática.
3. DIFERENCIA CON PROCEDIMIENTOS
No pueden ser invocados directamente; al
intentar modificar los datos de una tabla para
la que se ha definido un disparador, el
disparador se ejecuta automáticamente.
No reciben y retornan parámetros.
Son apropiados para mantener la integridad
de los datos, no para obtener resultados de
consultas.
4. Forma General
Para crear un trigger con la instrucción:
create trigger NOMBREDISPARADOR
on NOMBRETABLA
for EVENTO- insert, update o delete
as
SENTENCIAS
5. OPCIONES DE DISPARO
"after“
El trigger se dispara cuando las
acciones especificadas (insert, delete
y/o update) son ejecutadas. Es la
opción por defecto si solamente
colocamos "for" (equivalente a "after").
6. "instead of“
Sobreescribe la acción desencadenadora del
trigger. Se puede definir solamente un
disparador de este tipo para cada acción (insert,
delete o update) sobre una tabla o vista.
Los disparadores "instead of" se ejecutan en
lugar de la acción desencadenante, es decir,
cancelan la acción desencadenante (suceso que
disparó el trigger) reemplazándola por otras
acciones.