오라클 프로시저 극초보 예시

김도환·2024년 3월 11일
0

SQL

목록 보기
3/3

CREATE TABLE KDH.JOB_TEST (
NO NUMBER,
NUM VARCHAR2(5),
RDATE DATE DEFAULT SYSDATE
);

CREATE OR REPLACE PROCEDURE KDH.INSERT_JOB_TEST
IS
BEGIN
INSERT INTO KDH.JOB_TEST (NO, NUM)
VALUES(SEQ_JOB_TEST_NO.NEXTVAL, DBMS_RANDOM.STRING('A',2));
COMMIT;
END;

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
JOB_NAME => '"KDH"."JOB_INSERT_JOB_TEST"',
JOB_TYPE => 'STORED_PROCEDURE',
JOB_ACTION => 'KDH.INSERT_JOB_TEST',
START_DATE => SYSDATE,
REPEAT_INTERVAL => 'FREQ=SECONDLY; INTERVAL=3'
);
END;

-- 실행
BEGIN
DBMS_SCHEDULER.ENABLE ('"KDH"."JOB_INSERT_JOB_TEST"');
END;

-- 중단
BEGIN
DBMS_SCHEDULER.DISABLE ('"KDH"."JOB_INSERT_JOB_TEST"');
END;

SELECT FROM KDH.JOB_TEST ORDER BY NO;
SELECT
FROM ALL_SCHEDULER_JOB_LOG WHERE OWNER = 'KDH' AND JOB_NAME = 'JOB_INSERT_JOB_TEST' ORDER BY LOG_DATE ;
SELECT * FROM ALL_SCHEDULER_JOB_RUN_DETAILS WHERE OWNER = 'KDH' AND JOB_NAME = 'JOB_INSERT_JOB_TEST' ORDER BY REQ_START_DATE ;

DROP TABLE KDH.JOB_TEST;
DROP PROCEDURE KDH.INSERT_JOB_TEST;
BEGIN
DBMS_SCHEDULER.DROP_JOB('"KDH"."JOB_INSERT_JOB_TEST"');
END;

처음 해보시는 분들께서는 참고하셔서 잡 스케쥴러가 돌아가는 부분을 공부하시면 되겠습니다~

profile
극초보 웹개발자

0개의 댓글