当前位置:数据库 > MySQL >>

MySQL事件(定时任务)循环查询数据库并更新程序代码

DELIMITER $$
 
CREATE PROCEDURE ProcessData()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE a_value INT;
    -- 声明一个游标
    DECLARE cur1 CURSOR FOR SELECT column_name FROM yizuotu_net;
    -- 声明一个继续处理循环的标识符
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
 
    OPEN cur1;
 
    read_loop: LOOP
        FETCH cur1 INTO a_value;
        IF done THEN
            LEAVE read_loop;
        END IF;
        -- 在这里处理每一个a_value

        -- 例如:INSERT INTO zzzyk_com (column_name) VALUES (a_value);

        -- 这里还可以做 select count(*) from zzzyk_com where t_id=a_value; 类似的

    END LOOP;
 
    CLOSE cur1;
END$$
 
DELIMITER ;
步骤 2: 创建事件调用存储过程
CREATE EVENT myevent
ON SCHEDULE EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 HOUR) -- 开始时间设置为当前时间1小时后,根据需要调整
DO
CALL ProcessData();
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,