Mysql: Triggers
MYSQL:TRIGGERS
***********************
TABLA: DETALLE_FACTURA
***********************
SELECT * FROM auditoriap;
DROP TABLE auditoriap;
CREATE TABLE auditoriap
(usuario CHAR(60) null,
fecha DATETIME,
dato_anterior VARCHAR(100),
dato_actual VARCHAR(100),
transaccion CHAR(20),
tabla CHAR(30));
SHOW TRIGGERS;
DROP TABLEauditoriap;
SELECT * FROM auditoriap;
SELECT * FROM detalle_factura;
/*INSERTANDO A LA TABLA DETALLE_FACTURA*/
DELIMITER|
CREATE TRIGGER auditoriainsertar AFTER INSERT ON detalle_factura
FOR EACH ROWBEGIN
DECLARE texto_old CHAR(100);
DECLARE texto_new CHAR(100);
SET texto_old=' ';
SET texto_new=CONCAT(NEW.cod_producto,' ',NEW.numero_factura,' ',NEW.cantidad,' ',NEW.precio);
INSERT INTOauditoriap VALUES(CURRENT_USER(),NOW(),texto_old,texto_new,'INSERTAR','DETALLE_FACTURA');
END;
| DELIMITER;
DESCRIBE detalle_factura;
/*INSERTANDO DATOS A LA TABLA DETALLE_FACTURA*/INSERT INTO detalle_factura VALUES(1,1,5.00,1.60);
DROP TRIGGER auditoriaactualizar;
/*ACTUALIZANDO A LA TABLA DETALLE_FACTURA*/
DELIMITER |
CREATE TRIGGER auditoriaactualizar AFTER UPDATE ONdetalle_factura
FOR EACH ROW
BEGIN
DECLARE texto_old CHAR(100);
DECLARE texto_new CHAR(100);
SET texto_old=CONCAT(OLD.cod_producto,' ',OLD.numero_factura,' ',OLD.cantidad,' ',OLD.precio);
SETtexto_new=CONCAT(NEW.cod_producto,' ',NEW.numero_factura,' ',NEW.cantidad,' ',NEW.precio);
INSERT INTO auditoriap VALUES(CURRENT_USER(),NOW(),texto_old,texto_new,'ACTUALIZAR','DETALLE_FACTURA');
END;| DELIMITER;
DESCRIBE detalle_factura;
SELECT * FROM detalle_factura;
/*ACTUALIZANDO DATOS A LA TABLA DETALLE_FACTURA*/
UPDATE detalle_factura SET precio=2.50 WHERE cod_producto=1 ANDnumero_factura=1;
DROP TRIGGER auditoriaeliminar;
/*ELIMINANDO DATOS A LA TABLA DETALLE_FACTURA*/
DELIMITER|
CREATE TRIGGER auditoriaeliminar AFTER DELETE ON detalle_factura
FOR EACH ROW
BEGIN...
Regístrate para leer el documento completo.