gpt4 book ai didi

mysql - 如何在特定时间执行 mysql 事件而不使用 if

转载 作者:行者123 更新时间:2023-11-29 14:18:05 24 4
gpt4 key购买 nike

我使用以下代码来运行此事件IF CURRENT_TIME() = '23:50:00'

但是这样做,每一秒都必须将时间与服务器时间进行比较。我们可以在没有 if 条件的情况下实现这个吗

drop event OEAuditEvent;

DELIMITER $$

CREATE EVENT OEAuditEvent
ON SCHEDULE EVERY 1 SECOND
STARTS '2012-08-30 09:00:10'

DO
BEGIN

DECLARE a CHAR(20);
DECLARE b,c,d INT;
DECLARE done INT DEFAULT FALSE;

IF CURRENT_TIME() = '23:50:00' THEN
begin

DECLARE cur CURSOR FOR select OE_User,count(OE_User) from RNCM_Status where date(OE_Date)=CURDATE() group by OE_User;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

OPEN cur;
read_loop: LOOP


FETCH cur INTO a, b;

SET c=ceil((b*5)/100);
insert into test values(a,b);
IF done THEN

LEAVE read_loop;
ELSE
insert into OE_Audit(MDN,CAF,UploadedDate,OEUser,OEDate,UserCount,QCCount,intime) select MDN,CAF,UploadedDate,OE_User,OE_Date,b,c,now() from RNCM_Status where OE_User=a and date(OE_Date)=CURDATE() order by rand() limit c;
END IF;

END LOOP;
CLOSE cur;
end ;
END IF;



END $$

DELIMITER ;

最佳答案

为什么不创建每天 23:00 运行的事件并完全删除 IF?

CREATE EVENT OEAuditEvent
ON SCHEDULE EVERY 1 DAY
STARTS '2012-08-30 23:00:00'

关于mysql - 如何在特定时间执行 mysql 事件而不使用 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12247303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com