본문 바로가기

DB

Maria DB 프로시저 생성, 이벤트 스케줄러 등록(create procedure, event)

마리아 DB는 기본적으로 MySQL과 문법이 같거나 비슷하다.

 

프로시저의 생성은 아래와 같이 수행한다.

 

보통 프로시저 명명 규칙은 아래와 같이 수행하니 참고한다.

 

{서비스}_{대상 테이블 명}_{수행 액션}_SP

(Ex. ERP_USER_MASTER_MOD_SP)

 

/* 
	세미콜론과 같은 명령 종료부를 프로시저 선언 종료부로 인식하지 않게, 
    프로시저의 시작과 끝의 기호를 선정한다. 일반적으로 // 를 사용한다. 
    (참고 https://mariadb.com/kb/ko/delimiters/)
*/
DELIMITER $$	
 
/*
	프로시저 생성, 파라메터는 IN 파라메터명 TYPE 과 같이 입력한다.
*/
create procedure PROCEDURE_NAME(IN PARAMETER_NAME1 VARCHAR(10), IN PARAMETER_NAME2 DATE)
BEGIN
/*
	실행 쿼리 입력
*/
END

$$

DELIMITER;

 

 

 

해당 프로시저를 이벤트 스케줄러에 등록 시키는 법은 아래와 같다.

 

/*
	이벤트 스케줄러 ON
*/
SET GLOBAL event_scheduler = ON;

CREATE EVENT CALL_EVENT_NAME -- 이벤트 네임
    ON SCHEDULE
    EVERY 1 DAY	-- 매일
    -- EVERY 1 MONTH -- 매월
    -- EVERY 1 YEAR -- 매년
STARTS '2021-07-23 00:00:00'	-- 시작일 ~
    DO CALL PROCEDURE_NAME();	-- 호출 프로시저
    
/*
	등록 이벤트 조회
*/
SELECT * FROM information_schema.`EVENTS`;

/*
	이벤트 삭제
*/
DROP EVENT IF EXISTS CALL_EVENT_NAME;