Oracle에서 지정된 기간 내에 정기적으로 실행되도록 작업을 설정하려면 트리거와 작업을 생성해야 합니다. 1. 트리거를 사용하여 실행 기간(시작 및 종료 날짜)과 실행할 작업을 지정합니다. 작업을 사용하여 트리거를 지정합니다. 서버 이름, 실행 시작 날짜 및 반복 빈도.
Oracle에서 지정된 기간 내에 정기적으로 실행되도록 작업을 설정하는 방법
Oracle 데이터베이스에서는 DBMS_JOB 패키지를 사용하여 예약된 작업을 생성하고 관리할 수 있습니다. 특정 기간 내에 정기적으로 실행되도록 작업을 설정하려면 다음 단계를 따르세요.
1. 트리거 만들기
다음 명령문을 사용하여 지정된 기간 내에 지정된 작업을 실행할 트리거를 만듭니다. PL/SQL 블록:
<code class="sql">CREATE OR REPLACE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN IF (SYSDATE BETWEEN start_date AND end_date) THEN -- 在此执行要执行的任务 END IF; END;</code>
여기서:
trigger_name
은 트리거의 이름입니다. trigger_name
是触发器的名称。start_date
是任务开始执行的日期和时间。end_date
是任务结束执行的日期和时间。2. 创建作业
使用以下语句创建一个作业,该作业将调用触发器:
<code class="sql">BEGIN DBMS_JOB.SUBMIT( job => job_name, next_date => start_date, interval => 'freq=(seconds=60, minutes=0, hours=0, days=0, weeks=0, months=0, years=0)', what => 'BEGIN ' || trigger_name || '; END;' ); END;</code>
其中:
job_name
是作业的名称。start_date
是作业开始执行的日期和时间。interval
指定作业执行的频率,在本例中,每 60 秒执行一次。what
start_date
는 작업 실행이 시작되는 날짜와 시간입니다. end_date
는 작업 실행이 종료되는 날짜와 시간입니다.
2. 작업 생성
🎜🎜다음 명령문을 사용하여 트리거를 호출하는 작업을 생성합니다. 🎜<code class="sql">CREATE OR REPLACE TRIGGER my_trigger BEFORE INSERT/UPDATE/DELETE ON my_table FOR EACH ROW BEGIN IF (SYSDATE BETWEEN TO_DATE('2023-03-08 09:00:00', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('2023-03-08 17:00:00', 'YYYY-MM-DD HH24:MI:SS')) THEN -- 在此执行要执行的任务 END IF; END; BEGIN DBMS_JOB.SUBMIT( job => my_job, next_date => TO_DATE('2023-03-08 09:00:00', 'YYYY-MM-DD HH24:MI:SS'), interval => 'freq=(seconds=0, minutes=60, hours=0, days=0, weeks=0, months=0, years=0)', what => 'BEGIN my_trigger; END;' ); END;</code>
job_name
은 작업의 이름입니다. 🎜🎜start_date
는 작업 실행이 시작되는 날짜와 시간입니다. 🎜🎜interval
은 작업을 실행해야 하는 빈도(이 경우 60초마다)를 지정합니다. 🎜🎜what
은 실행할 PL/SQL 블록을 지정합니다. 🎜🎜🎜🎜예🎜🎜🎜매일 오전 9시부터 오후 5시까지 매시간 실행되는 작업을 생성하려면 다음 코드를 사용하면 됩니다. 🎜rrreee위 내용은 특정 기간 내에 정기적으로 실행되도록 Oracle 예약 작업을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!