Bdl8eq9exprosacap10triggers 1227846557969790 9
Bdl8eq9exprosacap10triggers 1227846557969790 9
Bdl8eq9exprosacap10triggers 1227846557969790 9
EQUIPO 9
FRAGOSO PEÑA FERNANDO
HUERTA GÓMEZ DANIEL
PÉREZ OCHOA VALERI
PÉREZ SAN JUAN ALDO
PAILLES RUBIÑOS FRANCISCO NICOLÁS
TRIGGERS
Los Triggers (desencadenadores), es un
mecanismo primario que provee SQL Server,
y consiste en una especialización de los
procedimientos almacenados que se activa
cuando se ejecutan sentencias que modifican
los datos o sus estructuras de alguna manera.
DML
DDL
Desencadenadores DML
Aplicar cambios en cascada sobre las tablas.
Evitar sentencias maliciosas de INSERT, UPDATE
y DELETE.
Llevar auditoría en tablas al efecto, de los cambios
realizados en la base de datos.
Evaluar el estado de una tabla antes y después de los
cambios.
Mantener actualizadas tablas totalizadoras.
Mantener actualizados campos calculados.
Tipos de desencadenadores DML:
AFTER
INSTEAD OF
.NET
Comparación de desencadenadores AFTER e INSTEAD OF
FUNCIÓN AFTER INSTED OF
Uso Tablas Tablas y vistas
Cantidad por tabla o vista Múltiple por acción de INSERT, Uno por acción de INSERT,
UPDATE o DELETE. UPDATE o DELETE.
PRC_ACTUALIZARSALARIO NominaSalarial
TRG_IU_ACTUALIZARRETENCIONES
TRG_IU_ACTUALIZARRETENCIONES
Perfiles
Programador Retenciones
O usuario
Deshabilitar desencadenadores
Para eliminar un desencadenador, se debe ejecutar la sentencia:
DISABLE TRIGGER [esquema . ] nombre ON
{ nombre_objeto| DATABASE | SERVER } [ : ]
Eliminar desencadenadores
Con el objeto de eliminar un desencadenador, se debe
ejecutar:
Para el caso de los desencadenadores DML:
DROP TRIGGER esquema.nombre [ ,…n ] [ ; ]
Para el caso de los desencadenadores DDL:
DROP TRIGGER nombre [ ,…n ]
ON { DATABASE | ALL SERVER }
[ ; ]
Modificar desencadenadores
Al igual que los procedimientos almacenados, la
modificación de desencadenador exige la sentencia
ALTER y la reescritura de toda su definición.
Desencadenadores anidados y
recursivos
Se considera que un desencadenador está anidado
cuando es disparado por acción de otro
desencadenador. Los desencadenadores pueden
anidarse hasta 32 niveles y su configuración puede
modificarse por medio de la opción de configuración
de servidor nested Triggers.
Existen dos tipos de recursividad:
Recursividad directa
Recursividad indirecta
La opción de configuración de base de datos
RECURSIVE_TRIGGERS sólo previene contra la
recursividad directa cuando está fijada en OFF. Los
desencadenadores INSTEAD OF no son
contemplados por esta opción.