>  기사  >  데이터 베이스  >  특정 기간 내에 정기적으로 실행되도록 Oracle 예약 작업을 설정하는 방법

특정 기간 내에 정기적으로 실행되도록 Oracle 예약 작업을 설정하는 방법

下次还敢
下次还敢원래의
2024-04-18 15:54:181061검색

Oracle에서 지정된 기간 내에 정기적으로 실행되도록 작업을 설정하려면 트리거와 작업을 생성해야 합니다. 1. 트리거를 사용하여 실행 기간(시작 및 종료 날짜)과 실행할 작업을 지정합니다. 작업을 사용하여 트리거를 지정합니다. 서버 이름, 실행 시작 날짜 및 반복 빈도.

특정 기간 내에 정기적으로 실행되도록 Oracle 예약 작업을 설정하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.