Maison> base de données> Oracle> le corps du texte

Comment configurer des tâches planifiées Oracle à exécuter régulièrement sur une certaine période de temps

下次还敢
Libérer: 2024-04-18 15:54:18
original
973 Les gens l'ont consulté

Pour configurer des tâches à exécuter régulièrement dans une période de temps spécifiée dans Oracle, vous devez créer des déclencheurs et des tâches : 1. Utilisez des déclencheurs pour spécifier la période d'exécution (dates de début et de fin) et les tâches à exécuter ; Utilisez des tâches pour spécifier les déclencheurs. Le nom du serveur, la date de début d'exécution et la fréquence de récurrence.

Comment configurer des tâches planifiées Oracle à exécuter régulièrement sur une certaine période de temps

Comment configurer des tâches à exécuter régulièrement dans une période de temps spécifiée dans Oracle

Dans la base de données Oracle, vous pouvez utiliser le package DBMS_JOB pour créer et gérer des tâches planifiées. Pour définir une tâche à exécuter régulièrement dans une certaine période de temps, veuillez suivre les étapes ci-dessous :

1 Créer un déclencheur

Utilisez l'instruction suivante pour créer un déclencheur qui exécutera la tâche spécifiée dans la période spécifiée. du temps. Bloc PL/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;
Copier après la connexion

où :

  • trigger_nameest le nom du déclencheur.trigger_name是触发器的名称。
  • start_date是任务开始执行的日期和时间。
  • end_date是任务结束执行的日期和时间。

2. 创建作业

使用以下语句创建一个作业,该作业将调用触发器:

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;
Copier après la connexion

其中:

  • job_name是作业的名称。
  • start_date是作业开始执行的日期和时间。
  • interval指定作业执行的频率,在本例中,每 60 秒执行一次。
  • what
  • start_dateest la date et l'heure auxquelles l'exécution de la tâche commence.

end_dateest la date et l'heure auxquelles la tâche termine son exécution.

2. Créez un travail

Créez un travail qui appellera le déclencheur en utilisant l'instruction suivante :
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;
Copier après la connexion
où : job_nameest le nom du travail. start_dateest la date et l'heure auxquelles l'exécution du travail commence. intervalspécifie la fréquence à laquelle la tâche doit être exécutée, dans ce cas, toutes les 60 secondes. whatspécifie le bloc PL/SQL à exécuter. ExemplePour créer une tâche qui s'exécute toutes les heures entre 9h et 17h tous les jours, vous pouvez utiliser le code suivant : rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!