Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Triggers
Un Triggers o disparador es una rutina autnoma Un Trigger nunca se llama directamente. En cambio,
asociada con una tabla o vista que automticamente cuando una aplicacin o usuario intenta insertar,
realiza una accin cuando una fila en la tabla o la vista actualizar, o anular una fila en una tabla, la accin
se inserta (INSERT), se actualiza (UPDATE), o borra definida en el disparador se ejecuta automticamente
(DELETE). (se dispara).
Procedimientos Almacenados
Un Procedimiento Almacenado es un programa autocontrolado escrito en lenguaje del DBMS, son almacenados
como parte de la Base de Datos y sus metadatos.
Diseo modular.
Como se puede apreciar los Sistemas de Bases de Datos ofrecen a desarrolladores, administradores y usuarios
una gama muy completa de herramientas que permiten garantizar la integridad, consistencia, confidencialidad
y en general seguridad de la informacin almacenada y con un elemento muy importante a favor: Las lneas de
cdigo que se requieren por parte del implementador son muy pocas, en ocasiones solo basta con una sencilla
sentencia para obligar al DBMS a controlar y mantener las restricciones necesarias.
Pero, qu son los triggers?, son objetos relacionados con tablas y almacenados en
la base de datos que se ejecutan o se muestran cuando sucede algn evento sobre
sus tablas asociadas.
Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE que modifican
los datos de una tabla. Los triggeres se pueden ejecutar antes (BEFORE) y/o
despus (AFTER) de que sean modificados los datos.
Los triggers tienen dos palabras clave, OLD y NEW que se refieren a los valores
que tienen las columnas antes y despus de la modificacin. Los INSERT permiten
NEW, los DELETE slo OLD y los UPDATE ambas.
y finalmente un trigger que se disparar cada vez que alguien modifique un dato
de la tabla clientes y lo guardar en una tabla junto al nombre del usuario y la
fecha.
- 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 ms idneo, 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:
Ejemplo.
Como ejemplo crearemos un Trigger que avise al webmaster con un mail cuando
un usuario se da de alta en nuestro web, para crear el trigger solo se han de
seguir los pasos arriba indicados, como muestran las imgenes y el cdigo es el
siguiente, haciendo Copy & Paste funciona.
El funcionamiento del trigger es muy sencillo, declaramos dos variables, una para
el mensaje que se enviar en el mail y otra para obtener el ID del registro recin
insertado y luego este ID lo concatenamos al mensaje para envirselo al
webmaster.
Exec master.dbo.xp_sendmail
@recipients = 'webmaster@dominio.com',
@subject = 'Nuevo usuario',
@message = @Mensaje