Uso de triggers
Uso de (TRIGGERS)
primero crear el "SCHEMA"/tabla empresa, le damos a la opción del rayito para crearlo.
después le usamos la tabla con la opción "use empresa;" así ya tenemos asignada la tabla empresa
Después copiamos el código para generar la tabla "productos" y le damos en rayito.
CREATE TABLE productos(
Id_Producto INT NOT NULL AUTO_INCREMENT,
Nombre_Producto VARCHAR(30) NOT NULL,
Tipo_Producto VARCHAR(30) NOT NULL,
Precio_Producto VARCHAR(30) NOT NULL,
PRIMARY KEY (Id_Producto));
se creara la tabla "BitacoraProductos" y le damos en rayito para generarlo
CREATE TABLE BitacoraProductos(
IdBP INT(30) auto_increment primary key,
IdProductos INT(20),
NombreProducto_Nuevo varchar(30),
NombreProducto_Viejo varchar(30),
TipoProducto_Nuevo varchar(30),
TipoProducto_Viejo varchar(30),
PrecioProducto_Nuevo varchar(30),
PrecioProducto_Viejo varchar(30),
Usuario varchar(30),
Fecha datetime,
Accion varchar(15)) engine =innodb;
Generamos nuestro primer "TRIGGER" de insertar datos pero antes debemos seleccionarlo el trigger y despues darle en el rayito si no lo seleccionan no se hará nada y se generara error
CREATE TRIGGER InsertarProductos AFTER INSERT
ON productos
FOR EACH ROW
INSERT INTO BitacoraProductos(IdProductos, NombreProducto_Nuevo, TipoProducto_Nuevo, PrecioProducto_Nuevo, Usuario, Fecha, Accion)
VALUES (NEW.Id_Producto,NEW.Nombre_Producto,NEW.Tipo_Producto,NEW.Precio_Producto, USER(),NOW(),'Inserto');
Insertamos los datos en productos;
Insert into productos (Id_Producto,Nombre_Producto,Tipo_Producto,Precio_Producto)
values("341531","PS4","Consola","300");
SELECT * FROM productos; - para visualizar
como podemos ver uso el trigger de insertar por que agregue datos de una nueva consola
ahora vamos a eliminar el trigger insertar para agregar otros triggers.
agregamos el trigger modificar
CREATE TRIGGER ModificarProductos AFTER UPDATE
ON productos
FOR EACH ROW
INSERT INTO BitacoraProductos(IdProductos,NombreProducto_Nuevo,NombreProducto_Viejo, TipoProducto_Nuevo,TipoProducto_Viejo,PrecioProducto_Nuevo, PrecioProducto_Viejo,Usuario,Fecha, Accion)
VALUES (old.Id_Producto,NEW.Nombre_Producto,old.Nombre_Producto,NEW.Tipo_Producto,old.Tipo_Producto,NEW.Precio_Producto,old.Precio_Producto, USER(),NOW(),'Modifico');
eliminamos el trigger modificar con "DROP TRIGGER"
agregamos el trigger de eliminar
CREATE TRIGGER EliminarProductos AFTER DELETE
ON productos
FOR EACH ROW
INSERT INTO BitacoraProductos(IdProductos,NombreProducto_Viejo,TipoProducto_Viejo,PrecioProducto_Viejo,Usuario,Fecha,Accion)
VALUES(old.Id_Producto,old.Nombre_Producto,old.Tipo_Producto,old.Precio_Producto,USER(),NOW(),'Eliminar');
como podemos ver ya se utilizo eliminar,modificar y insertar en las tablas con los triggers.
Comentarios
Publicar un comentario