Recientemente escribí un pequeño proyecto, necesito consultar datos regularmente y agregarlos a otra tabla. La idea es la siguiente:
Primero, cree un procedimiento almacenado
Segundo, cree una transacción para ejecutar periódicamente un procedimiento almacenado
(Esta es la forma de pensar, simple y clara)
Mirando el primer proceso, lo siguiente escribiré en el SQL más simple:
1. Crear un procedimiento almacenado
CREATE PROCEDURE up_con_outTime()
BEGIN
select * from student;
END;
2. Cree una transacción para ejecutar periódicamente un procedimiento almacenado
--DEFINER=`root`@`localhost` 1.%允许来自任何ip的连接2.localhost允许本机的连接
CREATE DEFINER=`root`@`localhost` EVENT up_con_outTime_event
ON SCHEDULE EVERY 1 MINUTE STARTS '2018-10-13 09:57:59'
ON COMPLETION NOT PRESERVE ENABLE
DO CALL up_con_outTime
El procedimiento almacenado también es bueno y la transacción es buena. El siguiente paso es ejecutar!
1. Evento abierto
Compruebe si el planificador de eventos está habilitado >>> muestra variables como '% sche%';
Evento abierto >>> set GLOBAL event_scheduler = ON;
2. Encienda el temporizador de transacciones
ALTER EVENT up_con_outTime_event ENABLE;
Fin cierra el temporizador de la transacción (si es necesario)
ALTERAR EVENTO up_con_outTime_event DISABLE;
Otro: adjunte una instrucción SQL alternativa
Ver procedimientos almacenados
mostrar el estado del procedimiento
Ver eventos
seleccione * de mysql.event
Eliminar evento
evento de caída test_aaa_event;
Ver el estado de ejecución del evento
seleccione * de mysql.event
Ver el código fuente del procedimiento almacenado
MOSTRAR PROCEDIMIENTO DE CREACIÓN sel_consumelogs_tostatics;
Ver código fuente de creación de eventos
MOSTRAR CREAR EVENTO jfinal_consta_event