ホームページ  >  記事  >  データベース  >  Oracleでスケジュールされたタスクを作成する方法

Oracleでスケジュールされたタスクを作成する方法

下次还敢
下次还敢オリジナル
2024-04-18 15:45:25725ブラウズ

Oracle でスケジュールされたタスクを作成するには、次の手順を実行します。 1. ジョブ (タスク) を作成します。 3. ジョブを無効にします。ジョブ; 5. ジョブ情報を表示します。たとえば、毎朝午前 8:00 に「my_procedure」という名前のストアド プロシージャを実行する「my_job」という名前のタスクを実行するには、 DBMS_JOB.SUBMIT および DBMS_JOB.ENABLE コマンドを使用します。

Oracleでスケジュールされたタスクを作成する方法

#Oracle を使用してスケジュールされたタスクを作成する方法

直接の答え:Oracle の場合 スケジュールされたタスクを作成するには、
DBMS_JOB パッケージを使用できます。

詳細な手順:

1. ジョブ (タスク) を作成します。

<code class="sql">BEGIN
  DBMS_JOB.SUBMIT(
    job => 'job_name',     -- 任务名称
    what => 'begin your_procedure_name; end;', -- 要执行的 PL/SQL 代码
    next_date => date '2023-03-08',  -- 下次执行时间
    interval => 'FREQ=DAILY',  -- 重复频率(例如,每天一次)
    comments => 'your_comments'  -- 注释(可选)
  );
END;
/</code>

2. ジョブ # を有効にします。 ##

<code class="sql">BEGIN
  DBMS_JOB.ENABLE(job => 'job_name');
END;
/</code>

3. ジョブを無効化します

#

<code class="sql">BEGIN
  DBMS_JOB.DISABLE(job => 'job_name');
END;
/</code>
#4. ジョブを削除します#
<code class="sql">BEGIN
  DBMS_JOB.REMOVE(job => 'job_name');
END;
/</code>
#5。情報

<code class="sql">SELECT * FROM USER_JOBS WHERE job_name = 'job_name';</code>

例:

「my_job」という名前のタスクを毎朝 8:00 に実行するには、「my_procedure」という名前のストアド プロシージャを実行します。次のコマンドを使用できます:

<code class="sql">BEGIN
  DBMS_JOB.SUBMIT(
    job => 'my_job',
    what => 'begin my_procedure; end;',
    next_date => 'trunc(sysdate) + 8/24',  -- 今天早上 8:00
    interval => 'FREQ=DAILY',
    comments => 'Runs my_procedure daily'
  );
  DBMS_JOB.ENABLE(job => 'my_job');
END;
/</code>

以上がOracleでスケジュールされたタスクを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。