14. desencadenadores
Post on 06-Jul-2018
215 Views
Preview:
TRANSCRIPT
-
8/18/2019 14. DESENCADENADORES
1/3
DISPARADORES O DESENCADENADORES (TRIGGERS)
Son disparadores de procedimientos, una especie de procedimientos
almacenados que se ejecutan cuando ocurre un evento sobre alguna tabla.
Un evento es una acción como: Inserción (INSERT), borrado (DELETE),
actualización (UPDATE).
Los desencadenadores pueden ayudar a mantener la integridad de referencia
de los datos conservando la consistencia entre los datos relacionados de
distintas tablas.
Los desencadenadores son útiles porque:
Pueden realizar cambios en cascada a lo largo de las tablas
relacionadas de la base de datos.
Pueden no permitir o revertir los cambios que violen la integridad de
referencia, cancelando la transacción de modificación de datos
intentada.
Pueden imponer restricciones de mucha mayor complejidad que las
definidas con las reglas.
Pueden llevar a cabo análisis de hipótesis sencillos. Por ejemplo puede
comparar el estado de una tabla antes y después de una modificación
de datos.
CREACION DE DESENCADENADORES
Cuando se crea un desencadenador, se especifica la tabla y los comandos de
modificación de datos que deben disparar o activarlo. Luego se indica la acción
o acciones que debe llevar a cabo el desencadenador.
La sintaxis para la creación de triggers es la siguiente:
Ing. Ana Doris M. Barrera Loza
-
8/18/2019 14. DESENCADENADORES
2/3
CREATE TRIGGER Nombre ON tabla FOR accion AS codigo
EJEMPLO:
Crear un trigger que muestre un mensaje cada vez que se inserta un nuevo
registro en la tabla Territories.
CREATE TRIGGER InsertTerr ON Territories FOR Insert AS
print 'Registro ingresado con éxito'
Para comprobar el funcionamiento del trigger, insertar un nuevo registro en la
tabla Territories
INSERT INTO Territories
Vales !'"#$%&''(oston' ')'*
Si queremos borrar el trigger anterior, ejecutar el siguiente código:
+RO, TRIGGER InsertTerr
Si queremos modificar el trigger anterior, ejecutar el siguiente código:
A-TER TRIGGER InsertTerr
INSTRUCCIONES SQL NO PERMITIDAS EN LOS DESENCADENADORES
Todos los comandos create.
Todos los comandos drop.
Alter table y alter database.
RESTRICCIONES DE LOS DESENCADENADORES
Una tabla puede tener un máximo de 3 desencadenadores: uno de
actualización, uno de inserción y uno de eliminación.
Ing. Ana Doris M. Barrera Loza
-
8/18/2019 14. DESENCADENADORES
3/3
Cada desencadenador puede aplicarse a una sola tabla.
No se puede crear un desencadenador en una vista ni en una tabla
temporal, aunque los desencadenadores pueden hacer referencia a las
vistas o tablas temporales.
Los desencadenadores no se permiten en las tablas del sistema, aunque
no aparezca un mensaje de error si se crea en una tabla del sistema, el
desencadenador no se utilizará.
Ing. Ana Doris M. Barrera Loza
top related