You are on page 1of 4

Sistema de Gestin de la Calidad

TG.Analisis y Desarrollo de Sistemas de Informacin

Disparadores

PROGRAMACION DE SOFTWARE

Caroline Samanta Cantero

Bogot, 18 de julio de 2012

Aca hay un poco mas de informacin y ejemplos de disparadores en SQL Server y MySqL para los que estn aprendiendo. 1. Qu es un disparador? Un disparador "comnmente llamados Triggers" es un conjunto especial de cdigo de procedimiento almacenado asociado de manera directa a una tabla cuya activacin es causada por modificaciones en el contenido de la base de datos; es decir, es invocado en forma automtica despus de ejecutar cualquiera de las instrucciones Insert, Update o Delete en una tabla. Su uso tiene un gran nmero de aplicaciones, desde insertar, actualizar o borrar datos en otra tabla, como enviar notificaciones de los sucesos ocurridos en una base de datos al administrador del sistema, entre muchos otros. 2. Su funcin: Son usados para mejorar la administracin de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL. Adems, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc. Permite implementar programas basados en paradigma lgico (sistemas expertos, deduccin). 3. Cundo se deben usar? Se deben usar cuando se quiera llevar un control sobre los movimientos de la tabla cuando se quieran prevenir transacciones o por el contrario forzarlas. 4. Diferencias SQL Server -MySQL La principal diferencia es la sintaxis SQL:
CREATE TRIGGER [NombreTrigger]

ON [Lugar] [Temporalidad] As BEGIN END _____________________________________________________ CREATE TRIGGER: Sentencia para la creacin ON: Especifica la tabla o base para la que se ligara el Trigger [Temporalidad]: Indica el momento en el que actuara el Trigger AS: Especificacin del contenido al que estar ligado BEGIN: Comienzo del bloque de sentencias END: Fin del Bloque de sentencias

MySQL: DELIMITER | CREATE TRIGGER [NombreTrigger] [Temporalidad] ON [Lugar] [Gradualidad del evento] BEGIN END | DELIMITER; __________________________________________________________ DELIMITER |: Indica que desde aqu se creara un procedimiento CREATE TRIGGER: Sentencia de Creacin [Temporalidad]: Indica el momento en el que actuara el Trigger ON: Especifica la tabla o base para la que se ligara el Trigger [Gradualidad del evento]: Indica de que manera se aplicara BEGIN: Comienzo bloque de sentencias END: Fin Bloque sentencias | DELIMITER: Fin de la delimitacin del procedimiento

SQL: Al ejecutarse una instruccin, sus resultados se guardan en 2 tablas INSERTED y DELETED dependiendo de la accin realizada: Insercin: Guarda en tabla INSERTED Borrado: Guarda en tabla DELETED Actualizacin: Guarda los datos previos en la tabla DELETED y los Actualizados en la tabla INSERTED Ejemplo1: SELECT Nombre FROM INSERTED Ejemplo2: SELECT Nombre FROM DELEATED

MySQL: Al ejecutarse una instruccin estas se categorizan como nuevas y antiguas por tanto para tener acceso a los datos se debe especificar el tiempo y dato que se quiere Insercin: Se categoriza como NEW Borrado: Se Categoriza como OLD Actualizacin: Los datos previos se categorizan como OLD y los nuevos como NEW Ejemplo: SET @Nombre_N = (SELECT NEW.Nombre FROM Usuarios WHERE Cod_Usuario = NEW.Cod_Usuario);

5. Ejemplos de Triggers

You might also like