DBMS_JOB.SUBMIT详细用法
时间: 2023-08-15 17:08:04 浏览: 214
DBMS_JOB.SUBMIT 是 Oracle 数据库中的一个存储过程,用于提交一个作业并安排它在数据库中执行。它的详细用法如下:
1. 首先,需要在数据库中创建一个存储过程,来定义要执行的作业。例如:
CREATE OR REPLACE PROCEDURE my_job
IS
BEGIN
-- 执行需要执行的任务
...
END;
2. 然后,使用 DBMS_JOB.SUBMIT 存储过程来提交作业。例如:
DECLARE
job_id NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
job_id => job_id,
what => 'BEGIN my_job; END;',
next_date => SYSDATE,
interval => 'SYSDATE + 1/24',
no_parse => FALSE
);
COMMIT;
END;
这个例子中,DBMS_JOB.SUBMIT 存储过程接受以下参数:
- job_id:作业的 ID,由存储过程返回。
- what:要执行的作业,可以是任何合法的 SQL 语句或 PL/SQL 块。
- next_date:作业的第一次执行时间。在这个例子中,我们使用了当前系统时间。
- interval:作业的执行间隔时间。在这个例子中,我们使用了每小时执行一次的间隔。
- no_parse:一个布尔值,指示是否跳过对 what 参数的语法分析。在这个例子中,我们将其设置为 FALSE。
3. 提交作业后,可以使用 DBMS_JOB.BROKEN 存储过程来标记作业为失败,使用 DBMS_JOB.REMOVE 存储过程来删除作业,使用 DBMS_JOB.CHANGE 存储过程来修改作业的执行时间或执行间隔时间。
注意:DBMS_JOB 存储过程已经在 Oracle 12c 版本中被弃用,取而代之的是 DBMS_SCHEDULER 存储过程。如果您使用的是 Oracle 12c 或更高版本,建议使用 DBMS_SCHEDULER 存储过程来管理作业。
阅读全文