一、概述
Oralce中的任务有2种:Job和Dbms_job,两者的区别有:
1. jobs是oracle数据库的对象, dbms_jobs只是jobs对象的一个实例, 就像对于tables, emp和dept都是表的实例。
2. 创建方式也有差异,Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。
3. 两种任务的查询视图都分为dba和普通用户的,Job对应的查询视图是dba_scheduler_jobs和user_scheduler_jobs,dbms_jobs对应的查询视图为dba_jobs和user_jobs。
这里主要是介绍Dbms_job。
二、使用
1、 创建job:
BEGIN
DBMS_JOB.SUBMIT(
JOB OUT BINARY_INTERGER,--输出变量,是此任务在任务队列中的编号,也可以自定义,一般不传
WHAT IN VARCHAR2,--执行的任务的名称及其输入参数
NEXT_DATE IN DATE DEFAULT SYSDATE,--任务执行的时间
INTERVAL IN VARCHAR2 DEFAULT NULL,--任务执行的时间间隔
NO_PARSE IN BOOLEAN DEFAULT FALSE,--用于指定是否需要解析与作业相关的过程
INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,--用于指定哪个例程可以运行作业
FORCE IN BOOLEAN DEFAULT FALSE--用于指