2. Trigger
(desencadenador o
disparador)
Es un tipo especial de procedimiento
almacenado que se ejecuta automáticamente
cuando se insertan, eliminan o actualizan datos
de una tabla especificada.
Ayuda a mantener la integridad de referencia
de los datos, conservando la consistencia entre
los datos de distintas tablas relacionados
lógicamente.
2
5. Triggers DML y
DDL
Los desencadenadores DML se ejecutan
cuando un usuario intenta modificar datos
mediante instrucciones INSERT, UPDATE o
DELETE de una tabla o vista.
Los desencadenadores DDL se ejecutan como
respuesta a diversos eventos del lenguaje de
definición de datos (DDL): instrucciones
CREATE, ALTER y DROP.
5
6. RAISERROR
Genera un mensaje de error y se
inicia el proceso de errores para
la sesión.
RAISERROR puede hacer
referencia a un mensaje definido
por el usuario o construir un
mensaje dinámicamente
6
7. Pseudotablas
En SQL Server, las pseudo-tablas inserted y
deleted tienen la misma estructura de campos
que la tabla sub-yacente.
En inserted están siempre los datos que se
están insertando y en deleted los datos que se
están eliminando.
Para crear un trigger con la sentencia update,
considerar que la pseudo tabla deleted tiene los
valores anteriores en la tabla y la pseudo tabla
inserted los nuevos valores.
7
8. Ejemplo
CREATE TRIGGER noEliminaMarca
ON marca
AFTER DELETE
AS
BEGIN
RAISERROR ('No se pueden
eliminar datos en esta tabla', 1,
1)
ROLLBACK TRANSACTION
RETURN
END
9