Los desencadenadores no son objetos independientes, sino que siempre están asociados a una tabla concreta o una vista.
Enviado por s1n41 • 29 de Abril de 2017 • Ensayo • 839 Palabras (4 Páginas) • 108 Visitas
DESENCADENADORES
Los desencadenadores (también llamados disparadores o triggers) son procedimientos que se ejecutan automáticamente en el momento que se produce una cierta acción.
Los desencadenadores no son objetos independientes, sino que siempre están asociados a una tabla concreta o una vista.
Cómo funciona un desencadenador
En las tablas y vistas pueden efectuarse básicamente 3 operaciones, aparte de la selección de los datos: inserción de filas, actualización y borrado. Cada una de estas tres operaciones puede lanzar la ejecución de uno o más desencadenadores, según los casos. Un desencadenador puede ejecutarse tras la propia acción que lo ha lanzado, o bien sustituir por completo a dicha acción.
SQL Server dispone de dos tipos de desencadenadores: el desencadenador AFTER y el desencadenador INSTEAD OF. Del primer tipo es posible asociar varios a cada acción desencadenante en la misma tabla, mientras que del segundo tan sólo puede existir uno para cada acción y tabla.
Los desencadenadores AFTER ejecutan su código una vez que ha finalizado la acción desencadenante. Dicho de otra manera, este tipo de desencadenador actúa después de la inserción, actualización o borrado.
Mediante los desencadenadores INSTEAD OF se evita que la acción desencadenante sea ejecutada, transfiriéndose el control, en su lugar, al código del desencadenador.
Creación de un desencadenador
La sintaxis para crear un objeto de este tipo es la siguiente:
CREATE TRIGGER nombre ON tabla/vista
ALTER/INSTEAD OF INSERT/UPDATE/DELETE
AS
BEGIN
código a ejecutar
END
Nota: Una vista no puede tener asociados desencadenadores del tipo AFTER, tan sólo son válidos los del tipo INSTEAD OF.
Tablas especiales en un desencadenador
Por regla general, un desencadenador se utiliza para comprobar y/o alterar la acción a la que se encuentra asociado. Con este fin, es normal que se necesiten los datos que se han modificado, añadido o eliminado. Lo habitual es que sea una sola fila de datos, que dependiendo de los casos, podremos encontrar en la tabla inserted o la tabla deleted.
Estas dos tablas son creadas automáticamente al entrar en un desencadenador, siendo su finalidad alojar la fila insertada, en el caso de operaciones INSERT; la fila eliminada, si la operación era DELETE, o bien la nueva y antigua fila, para las operaciones UPDATE.
...