메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Mysql 스케줄러

DB CAFE

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

스케줄러 의 상태 확인

SHOW VARIABLES LIKE 'event%';

스케줄러 시작/종료 ON/OFF

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

스케줄러 확인 Query

SELECT * FROM information_schema.events;

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;

스케줄러 scheduler 수정하기

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

스케줄러 삭제

DROP EVNET  EVT_AUTOSCHEDULER