oracle job简单的说,就是oracle提供的一个定期执行某个存储过程或者包体的功能。
主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等
一:创建测试表
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 过程已成功完成。
五:查询job
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 过程已成功完成。