더북(TheBook)

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 패키지에 속한 프로시저에 대해 살펴 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.