MySql ejecuta tareas regularmente

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

 

Publicado 12 artículos originales · ganó 9 · 10 mil visitas

Supongo que te gusta

Origin blog.csdn.net/finaly_yu/article/details/83036106
Recomendado
Clasificación