Sample Header Ad - 728x90

Need help in getting mysql event scheduled every monday and wednesday

0 votes
2 answers
656 views
I have coded an event as below to run every Monday and Wednesday, but it runs only on Monday and doesn't on Wednesday.
delimiter |
CREATE EVENT IF NOT EXISTS evnt_demo_ref_fs_test
ON SCHEDULE EVERY 1 DAY 
ON COMPLETION PRESERVE enable
DO 
   BEGIN
	DECLARE errorCode CHAR(5) DEFAULT '00000';
    DECLARE errorMessage TEXT DEFAULT '';
    
DECLARE exit HANDLER FOR SQLEXCEPTION 
    BEGIN
    GET DIAGNOSTICS CONDITION 1
        /*errorCode = RETURNED_SQLSTATE, errorMessage = MESSAGE_TEXT;*/
        @p1 = RETURNED_SQLSTATE, @p2 = MESSAGE_TEXT;
        SELECT @p1 as RETURNED_SQLSTATE  , @p2 as MESSAGE_TEXT;
        INSERT INTO demo_log_fs (CODE, message) SELECT CONCAT('ERR_CODE: ', @p1) AS STATUS, CONCAT('MySQL ERROR: ', @p1, ': ', @p2) AS MESSAGE;
		ROLLBACK;
    END;
    /*IF DAYOFWEEK(curdate()) BETWEEN 5 and 7 THEN */
    IF WEEKDAY(curdate()) BETWEEN 0 AND 2 THEN 
INSERT INTO demo_log_fs (CODE, message) values ('0000','demo refresh started');
INSERT INTO demo_log_fs (CODE, message) values ('0000','Deletes started');
delete from drop_curr_fs;
delete from drop_hist_fs;
INSERT INTO demo_log_fs (CODE, message) values ('0000','Deletes Completed');
INSERT INTO demo_log_fs (CODE, message) values ('0000','Inserts Started');
insert into drop_curr_fs select  * From 	master	;
insert into drop_hist_fs select  * From 	hist_master	;
INSERT INTO demo_log_fs (CODE, message) values ('0000','Inserts Completed');
INSERT INTO demo_log_fs (CODE, message) values ('0000','demo refresh Completed');
end if;
END |
delimiter ;
How do I achieve this?
Asked by Mushtaq (1 rep)
Jun 28, 2021, 08:35 AM
Last activity: Apr 8, 2025, 02:04 AM