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
Last activity: Apr 8, 2025, 02:04 AM