2. TRIGGER
Un trigger (o disparador) es un procedimiento que se
ejecuta cuando se cumple una condición establecida al
realizar una operación.
Los triggers pueden ser de inserción (INSERT),
actualización (UPDATE) o borrado (DELETE).
Algunas bases de datos pueden ejecutar triggers al crear,
borrar o editar usuarios, tablas, bases de datos u otros
objetos.
Sirven para dar seguridad en los procedimientos.
3. USOS
• Registrar, auditar y monitorear la
actividad de cambio de datos
• Validar datos, cambiando o negando
acciones como INSERT, UPDATE,
DELETE en una tabla
• Preservar la consistencia y claridad de
los datos ejecutando acciones
relacionadas con otras tablas.
4. CUANDO USARLOS
Se requiere utilizar el trigger cuando se
dan descuentos, bajas, usuarios,
bitácoras de modificaciones, etc., en
todas las base de datos.
5. DONDE USARLO
Cuando un usuario intenta modificar
datos, mediante un evento de lenguaje
de manipulación de datos y
programación.
6. PORQUE USARLO
• Para mejorar la administración de la
Base de datos.
• Para controlar que los usuarios
ejecuten las sentencias de SQL.
• Para aplicar la reglas de negociación en
las compañías.
7. COSAS QUE HAY QUE TENER EN CUENTA
- Solo se pueden aplicar a una tabla especifica, es decir,
un trigger no sirve para dos o más tablas.
- El trigger se crea en la base de datos que de trabajo
pero desde un trigger puedes hacer referencia a otras
bases de datos.
- Un Trigger devuelve resultados al programa que lo
desencadena de la misma forma que un Stored
Procedure aunque no es lo mas idoneo, para impedir que
una instrucción de asignación devuelva un resultado se
puede utilizar la sentencia SET NOCOUNT al principio del
Trigger.
8. - Las siguientes instrucciones no se pueden
utilizar en los triggers :
ALTER DATABASE CREATE DATABASE
DISK INIT DISK RESIZE
DROP DATABASE LOAD DATABASE
LOAD LOG RECONFIGURE
RESTORE DATABASE RESTORE LOG
9. VENTAJAS
Seguridad de los datos mejorada:
• Ofrecen chequeos de seguridad basada en valores
Integridad de los datos mejorada:
• Fuerzan restricciones dinámicas de integridad de datos y de
integridad referencial.
• Aseguran que las operaciones relacionadas se realizan juntas
de forma implícita.
• Respuesta instantánea ante un evento auditado
• Ofrece un mayor control sobre la B.D.
10. DESVENTAJAS
• Hay que definir con anticipación la tarea que realizara el trigger
• Peligro de pérdida en Reorganizaciones
• Hay que programarlos para cada DBMS
• Un Trigger nunca se llama directamente.
• Los triggers no se desarrollan pensando en un solo registro, los
mismos deben funcionar en conjunto con los datos ya que se disparan
por operación y no por registro.
• Por funcionalidad, no hay que poner en uno solo las funciones
de INSERT,UPDATE y DELETE.
• Utilizar moderadamente los triggers.
• No se pueden utilizar en tablas temporales
11. TIPOS DE TRIGGERS
• Trigger DML, se ejecutan cuando un usuario intenta
modificar datos mediante un evento de lenguaje de
manipulación de datos (DML). Los eventos DML son
instrucciones INSERT, UPDATE o DELETE de una tabla o
vista.
• Trigger DDL, se ejecutan en respuesta a una variedad de
eventos de lenguaje de definición de datos (DDL). Estos
eventos corresponden principalmente a instrucciones
CREATE, ALTER y DROP de Transact-SQL, y a
determinados procedimientos almacenados del sistema
que ejecutan operaciones de tipo DDL.
12. ESTRUCTURA
CREATE TRIGGER <Nombre_Trigger>
ON <Nombre_Trabla o Vista>
AFTER (FOR)/ INSTEAD OF<Momento en que se ejecuta el
trigger>
(INSERT, UPDATE, DELETE) <Acciones>
AS
BEGIN
<Codigo con la estructura que se trabajara>
END
GO