43 lines
1.2 KiB
SQL
43 lines
1.2 KiB
SQL
---------Eventos en MySQL
|
|
--Capacidad de MySQL de ejecutar tareas en intervalos regulares o en momentos específicos.
|
|
--Para que?
|
|
--Tareas de mantenimiento en tu base de datos, limpieza de registros antiguos, optimización de tablas, promociones o períodos de prueba...
|
|
|
|
--Verificar si esta activado el programador de eventos
|
|
SHOW VARIABLES LIKE 'event_scheduler';
|
|
|
|
--Activarlo si no esta encendido
|
|
SET GLOBAL event_scheduler = ON;
|
|
|
|
--Mostrar los eventos existentes
|
|
SHOW EVENTS;
|
|
|
|
--Crear un evento estructura básica
|
|
CREATE EVENT event_name
|
|
ON SCHEDULE schedule
|
|
DO
|
|
event_body;
|
|
|
|
--Creación de un evento (aumenta los precios un 5% cada mes)
|
|
CREATE EVENT actualizar_precios
|
|
ON SCHEDULE
|
|
EVERY 1 MONTH
|
|
DO
|
|
UPDATE productos SET precio = precio * 1.05;
|
|
|
|
|
|
--ON SCHEDULE (momento de ejecución del evento)
|
|
--AT(en una fecha determinada)
|
|
ON SCHEDULE AT 'YYYY-MM-DD HH:MM:SS'
|
|
-- A una hora determinada(todos los días)
|
|
ON SCHEDULE AT '09:00:00'
|
|
--ON SCHEDULE EVERY(para indicar evento que se repite a intervalos entre dos fechas)
|
|
ON SCHEDULE EVERY interval_type [STARTS initial_date] [ENDS ending_date]
|
|
ON SCHEDULE EVERY 1 DAY
|
|
STARTS CURRENT_DATE
|
|
ENDS CURRENT_DATE + INTERVAL 1 WEEK
|
|
|
|
|
|
|
|
|