dbms_job的应用
dbms_job.submit --添加作业任务
dbms_job.run --运行作业调度
dbms_job.remove --删除作业任务
dbms_job.broken --中断禁用或启用作业
---创建测试表
SQL> create table TEST(a date);
表已创建。
--- 创建一个自定义过程
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
过程已创建。
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
3 end;
4 /
PL/SQL 过程已成功完成。
---运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
PL/SQL 过程已成功完成。
SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;
时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24
--删除JOB
SQL> begin
2 dbms_job.remove(:job1);
3 end;
4 / bitsCN_com
PL/SQL 过程已成功完成。
plsql下执行:
启动定时任务:
declare
v_job int;
begin
v_job := 68; --68是定时任务的进程数
dbms_job.run(v_job);
commit;
end;