DBMS_JOB의 서브 프로그램
DBMS_JOB 패키지에 내장된 서브 프로그램에 대해 살펴보기 전에 먼저 실행될 작업, 즉 프로그램을 준비해 놔야 한다. 여기서는 간단한 테이블을 만든 후 이 테이블에 INSERT하는 프로시저로 테스트해 보자. 먼저 다음과 같이 테이블을 생성하자.
입력
CREATE TABLE ch15_job_test (
seq NUMBER,
insert_date DATE);
결과
table CH15_JOB_TEST이(가) 생성되었습니다.
입력
CREATE OR REPLACE PROCEDURE ch15_job_test_proc
IS
vn_next_seq NUMBER;
BEGIN
-- 다음 순번을 가져 온다
SELECT NVL(MAX(seq), 0) + 1
INTO vn_next_seq
FROM ch15_job_test;
-- ch15_job_test 테이블에 INSERT
INSERT INTO ch15_job_test VALUES ( vn_next_seq, SYSDATE);
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
결과
PROCEDURE CH15_JOB_TEST_PROC이(가) 컴파일되었습니다.
사전 준비는 끝났다. 이제 본격적으로 DBMS_JOB 패키지에 속한 프로시저에 대해 살펴 보자.