DBMS_JOB 특정 시간대 수행 0 3 4,405

by XX큰타이거 [Oracle 기초] JOB 특정시간 INTERVAL [2015.12.18 11:47:09]


안녕하세요....매번 많은 도움 받고 있습니다. 

ORACLE JOB 관련해서 질문하나 드립니다. 

특정 JOB이 업무시간에만 즉, 09시 ~ 18시 사이에 매시 30분에 수행해야 하는데요...(서버에서 CRON을 사용할 수 없는 상황이라...ㅜㅜ)

INTERVAL을 어찌 해야 할지 도움 요청 합니다....

by 신이만든짝퉁 [2015.12.18 12:07:12]
DECLARE
    JOB_NO NUMBER;
BEGIN

    DBMS_JOB.SUBMIT(JOB_NO
                   ,'BEGIN
    IF TO_CHAR(SYSDATE, ''HH24MI'') BETWEEN ''0900'' AND ''1800'' THEN
        DBMS_OUTPUT.PUT_LINE(''여기에서 해당 프로시저를 호출하세요.'');
    END IF;
END;'
                   , TRUNC(SYSDATE, 'HH') + 1/2/24
                   , 'SYSDATE + 1/2/24'    
                   );
   COMMIT;
END;

 


by XX큰타이거 [2015.12.18 12:32:00]

아하....

INTERVAL로 조정하는게 아니라 WHAT 내부에서 조정이 가는 하군요....ㅎㅎ

한수 배웠습니다. 감사합니다. 


by 신이만든짝퉁 [2015.12.18 13:40:44]

intetval 부분에 오류가 있어서 아래와 같이 수정해야 합니다.

'TRUNC(SYSDATE, ''HH'') + 1/2/24'  --> 'SYSDATE + 1/2/24' 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입