행위

Mysql 스케줄러

DB CAFE

thumb_up 추천메뉴 바로가기


1 [MySQL]이벤트 스케줄러 사용하기(event scheduler)[편집]

1.1 스케줄러 의 상태 확인[편집]

SHOW VARIABLES LIKE 'event%';

1.2 스케줄러 시작/종료 ON/OFF[편집]

SET GLOBAL event_scheduler = ON ;
SET GLOBAL event_scheduler = OFF ;

1.3 스케줄러 확인 Query[편집]

SELECT * FROM information_schema.events;

1.4 event scheduler 생성하기[편집]

(MONTH : 월 / HOUR : 시간 / DAY : 일)등으로 Scheduler 설정 가능 -- 수행할 작업은 DO 아래행에 작성 -- Procedure , 일반 쿼리문 사용

CREATE EVENT EVT_AUTOSCHEDULER 
    ON SCHEDULE EVERY 1 DAY STARTS '2021-05-19 00:00:00'
    DO CALL SP_GET_MAX_PERCENT_STOCK();

-- 평일만 작업 가능

CREATE EVENT EVT_AUTOSCHEDULER
ON SCHEDULE EVERY 1 DAY STARTS '2021-05-19 00:00:00'
DO
    if DAYOFWEEK(curdate()) between 2 and 6 then
        Delete from attendance 
        where Att_mnth=Month(CurDate()) 
        and Att_day=DayOfMonth(CurDate())
        ;
    end if;

1.5 스케줄러 scheduler 수정하기[편집]

ALTER EVENT EVT_AUTOSCHEDULER    
   ON SCHEDULE EVERY 1 MONTH STARTS '2021-05-19 00:00:00'
   DO CALL SP_GET_MAX_PERCENT_STOCK();

1.6 스케줄러 삭제[편집]

DROP EVNET  EVT_AUTOSCHEDULER