-- log/auditoria CREATE TABLE auditoria_movimientos ( id_mov INT NOT NULL auto_increment, cod_cuenta VARCHAR(100), fecha_ant DATETIME, cantidad_ant INT, cod_cuenta_n VARCHAR(100), fecha_n DATETIME, cantidad_n INT, usuario VARCHAR(40), feca_mod DATETIME, PRIMAR KEY(id_mov)) ENGINE InnoDB; CREATE TRIGGER t_auditoria AFTER UPDATE ON movimientos FOR EACH ROW BEGIN INSERT INTO auditoria_movimientos (cod_cuenta_ant, fecha_ant,cantidad_ant cod_cuenta_n, fecha_n, cantidad_n, usuario, fecha_mod) VALUES (OLD.cod_cuenta, OLD.fecha, OLD.cantidad, NEW.cod_cuenta, NEW.fecha, NEW.cantidad, CURRENT_USER(),NOW()); END; -- EVENTOS -- -Una ocasión -- -periodicamente vble -> global event_scheduler (ON | OFF | DISABLE) CREATE event ALTER [DEFINER = { user | CURRENT_USER }] EVENT event_name [ON SCHEDULE schedule] [ON COMPLETION [NOT] PRESERVE] [RENAME TO new_event_name] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] [DO event_body] SHOW event DROP event CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] DO event_body; schedule: AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [ENDS timestamp [+ INTERVAL interval] ...] interval: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND} DELIMETER $$ CREATE EVENT bonificacion ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MONTH DO UPDATE banco.cliente SET saldo=saldo+100 WHERE fecha_creacion BETWEEN NOW() AND date_add (NOW(),interval -1 MONTH);$$ DELIMETER $$ CREATE EVENT arduino__noticias ON SCHEDULE EVERY 1 MONTH STARTS '2014-01-01 00:00:00' ENABLE DO BEGIN INSERT INTO historico_noticias SELECT * FROM noticias WHERE fecha <= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY); DELETE FROM noticias WHERE fecha <= DATE_SUB (CURRENT_DATE(), INTERVAL 30 DAY); END;$$ PROCEDIMIENTOS: Tareas sencillas . CALL FUNCIONES: Parecido a procedimientos, devuelve algo. VISTAS: INstantaneas de la bd TRIGGER: AFTER o BEFORE declarando acciones ante modificaciones de la BD. EVENTOS: Realizan acciones en ciertos moentos temporales.