마리아 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;
'DB' 카테고리의 다른 글
[AWS Document DB] Replication 구조 읽기 일관성(Write Concern) 이슈 해결 방안 (0) | 2022.11.16 |
---|---|
DB별 JDBC URL, Driver (0) | 2020.06.18 |