Vous êtes sur la page 1sur 12

G

G
I
R
T
T

O
E

R
E

C
A

V
R

IL
A

H
L

ID

IG

E
R

IN

A
E
R
R
L
P Z
E
L
A
O
Y
U
E
LU E
C
N
D
G
U
A U
A
N
N
C
G
A
D I
O
A
A
N
D
IS RM
U DR
E
R
G O
A
LU
F
R IL
O
E
T
G
W R
R
E
B
JO
O
H

O
D

Z
E

IR

A
Z
E

YA

TRIGGER
Un trigger (o disparador) es un procedimiento que
se ejecuta cuando se cumple una condicin
establecida al realizar una operacin.
Los triggers pueden ser de insercin (INSERT),
actualizacin (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.

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.

CUANDO USARLOS
Se requiere utilizar el trigger
cuando se dan descuentos, bajas,
usuarios, bitcoras de
modificaciones, etc., en todas las
base de datos.

DONDE USARLO
Cuando un usuario intenta modificar
datos, mediante un evento de
lenguaje de manipulacin de
datos y programacin.

PORQUE USARLO
Para mejorar la administracin de
la Base de datos.
Para controlar que los usuarios
ejecuten las sentencias de SQL.
Para aplicar la reglas de
negociacin en las compaas.

COSAS QUE HAY QUE TENER EN CUENTA


- Solo se pueden aplicar a una tabla especifica,
es decir, un trigger no sirve para dos o ms
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 instruccin de asignacin
devuelva un resultado se puede utilizar la
sentencia SET NOCOUNT al principio del
Trigger.

- 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

VENTAJAS
Seguridad de los datos mejorada:

Ofrecen chequeos de seguridad basada en valores

Integridad de los datos mejorada:

Fuerzan restricciones dinmicas de integridad de


datos y de integridad referencial.

Aseguran que las operaciones relacionadas se


realizanjuntas de forma implcita.

Respuesta instantnea ante unevento auditado

Ofrece un mayor control sobre la B.D.

DESVENTAJAS

Hay que definir con anticipacin la tareaque realizara el


trigger

Peligro de prdida enReorganizaciones

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 conjuntocon losdatosya
quese disparan poroperacin y no por registro.

Por funcionalidad, no hay que poner enuno solo las


funciones deINSERT,UPDATE yDELETE.

Utilizar moderadamente los triggers.

No se pueden utilizar entablas temporales

TIPOS DE TRIGGERS
Trigger DML, se ejecutan cuando un usuario intenta
modificar datos mediante un evento de lenguaje de
manipulacin 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 definicin 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.

ESTRUCTURA
CREATE TRIGGER <Nombre_Trigger>
ON <Nombre_Trabla o Vista>
AFTER (FOR)/
trigger>

INSTEAD OF<Momento en que se ejecuta el

(INSERT, UPDATE, DELETE) <Acciones>


AS
BEGIN
<Codigo con la estructura que se trabajara>
END
GO