0% encontró este documento útil (0 votos)
163 vistas7 páginas

Triggers MySQL: Definición y Ejemplos

Los triggers en MySQL son objetos de la base de datos que se asocian con tablas y se pueden ejecutar antes o después de que se ejecuten sentencias INSERT, UPDATE o DELETE en la tabla. Los triggers se definen usando CREATE TRIGGER y especifican el tiempo de acción, el evento que lo activa y el cuerpo de instrucciones que se ejecutan. Como ejemplo, se muestra un trigger que actualiza la tabla de inventario al realizar una venta para descontar la cantidad vendida.

Cargado por

miguel velandia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
163 vistas7 páginas

Triggers MySQL: Definición y Ejemplos

Los triggers en MySQL son objetos de la base de datos que se asocian con tablas y se pueden ejecutar antes o después de que se ejecuten sentencias INSERT, UPDATE o DELETE en la tabla. Los triggers se definen usando CREATE TRIGGER y especifican el tiempo de acción, el evento que lo activa y el cuerpo de instrucciones que se ejecutan. Como ejemplo, se muestra un trigger que actualiza la tabla de inventario al realizar una venta para descontar la cantidad vendida.

Cargado por

miguel velandia
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Trigger en Mysql

[Link] Velandia
CUN - 2018
El trigger o disparador MySQL es un objeto de la
base de datos que está asociado con tablas.
El trigger se puede ejecutar cuando se ejecuta
una de las siguientes sentencias MySQL en la
tabla: INSERT, UPDATE y DELETE. Se puede
invocar antes o después del evento.
Definición
Los triggers están disponibles en MySQL 5.0.2 y
posteriores.
Definición

 trigger_time es el tiempo de acción del disparador.


 trigger_event indica el tipo de operación que activa el disparador
(Insert,Update,Delete)
 trigger_body es la instrucción que se ejecuta cuando se activa el
activador. Para ejecutar múltiples instrucciones, use BEGIN ... END
CREATE TABLE `tbl_ventas` (
`id_venta` INT(11) NOT NULL AUTO_INCREMENT,
`Cod_art` INT(11) NULL DEFAULT '0',
`Cod_almacen` INT(11) NULL DEFAULT '0',
`cantidad` INT(11) NULL DEFAULT '0',
PRIMARY KEY (`id_venta`),
Tabla Ventas INDEX `FK1_Articulo_ventas` (`Cod_art`, `Cod_almacen`),
CONSTRAINT `FK1_Articulo_ventas` FOREIGN KEY (`Cod_art`,
`Cod_almacen`) REFERENCES `tbl_tiene` (`cod_almacen`, `cod_art`)
)COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2;
 Crear un trigger que al realizar una venta descuente el valor del
inventario tbl_tiene
CREATE TRIGGER `inventario` BEFORE INSERT ON `tbl_ventas`
FOR EACH ROW BEGIN
declare stok int default 0;
declare actual int default 0;
select cantidad from tbl_tiene where
Ejemplo tbl_tiene.Cod_almacen=New.Cod_almacen and
tbl_tiene.Cod_art=New.Cod_art into actual;
set stok=[Link];
update tbl_tiene set tbl_tiene.cantidad=stok where
tbl_tiene.Cod_almacen=New.Cod_almacen and
tbl_tiene.Cod_art=New.Cod_art;
END
• Modificar el trigger anterior y si la venta del producto supera el
valor en stok tbl_tiene, solo vender esa cantidad.
• Realizar un trigger que al eliminar una venta se actualice el valor
de tbl_tiene
• Realizar un trigger que al eliminar un articulo este se almacene un
una nueva tabla artículos eliminados ( debe old )

Ejercicios

También podría gustarte