oracle定时任务每天都执行一次创建步骤-Oracle

如何在 Oracle 中创建每天执行一次的定时任务

在 Oracle 中创建每天执行一次的定时任务的步骤如下:

1. 创建一个作业

CREATE JOB job_name
AS
sys.dbms_scheduler.create_job(job_name,
                              'DEFAULT_JOB_CLASS',
                              'job_desc');
登录后复制

其中:

  • job_name:作业的名称
  • DEFAULT_JOB_CLASS:作业的默认作业类
  • job_desc:作业的描述

2. 为作业添加一个子作业

sys.dbms_scheduler.create_job_subjob(job_name,
                                 'job_subname',
                                 'job_type',
                                 'job_parameters',
                                 'schedule_expression',
                                 'enabled');
登录后复制

其中:

  • job_subname:子作业的名称
  • job_type:子作业的类型(例如,EXECUTABLE、SQL、PLSQL_BLOCK)
  • job_parameters:子作业的参数(根据 job_type 而异)
  • schedule_expression:子作业的计划表达式(例如,'INTERVAL 1 DAY')
  • enabled:子作业是否启用('TRUE' 或 'FALSE')

3. 启用作业

sys.dbms_scheduler.enable(job_name);
登录后复制

示例(使用 SQL 执行一个简单的 SELECT 查询)

CREATE JOB daily_job
AS
sys.dbms_scheduler.create_job(job_name,
                              'DEFAULT_JOB_CLASS',
                              'Daily job to execute a SQL query');

sys.dbms_scheduler.create_job_subjob(job_name,
                                 'daily_subjob',
                                 'SQL',
                                 'BEGIN
                                   SELECT COUNT(*)
                                   FROM users;
                                 END;',
                                 'INTERVAL 1 DAY',
                                 'TRUE');

sys.dbms_scheduler.enable(job_name);
登录后复制

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。