创建ORACLE JOB

主要格式:
dbms_job.submit(job,What,next_date,interval,no_parse);

参数解析:
job:  这个值用来唯一标识一个工作
what:  执行的存储过程
next_date: 意思是下一次运行的时间(我的理解是第一次在什么时候执行what)
interval: 何时这个工作将被重执行(我的理解是下一次运行的时间)
no_parse: 参数指示此工作在提交时或执行时是否应进行语法分析——TRUE

例如:我要在每天的1点执行一次myproc,从今天开始,则可以如下所示:

declare   
job number;      
begin
dbms_job.submit(job,'myproc;',TRUNC(sysdate) + 1/24,'TRUNC(SYSDATE + 1) + 1/24');
--              标识  存过       今天开始                下一次运行时间
end;

--解析:TRUNC的作用是只取sysdate的年月日

----------------------------------------------------------------------------------

查询job的信息,有如下视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。

如:

select * from dba_jobs

----------------------------------------------------------------------------------

运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:

SQL> begin 
2  dbms_job.run(:job); 
3  end; 
4  /

----------------------------------------------------------------------------------

在plSQL中我的做法是:

begin
dbms_job.run(3017);
end; 

----------------------------------------------------------------------------------

删除JOB

SQL> begin 
2  dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198 
3  end; 
4  /

----------------------------------------------------------------------------------

dbms_job包含以下子过程: 
Broken()过程。
change()过程。
Interval()过程。
Isubmit()过程。
Next_Date()过程。
Remove()过程。
Run()过程。
Submit()过程。
User_Export()过程。
What()过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值