创建测试表
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
问: 'sysdate+1/1440 '中代表什么?如果我用它每周五0:30执行,那又该怎么写?
------解决方案--------------------
1.代表的含义不是在代码中已经注释了吗
2.每周五0:30执行,设interval为:trunc(next_day(sysdate,6)+30/1440)
------解决方案--------------------
改成:trunc(next_day(sysdate,6))+30/1440
------解决方案--------------------
http://www.jobcorps.com.cn/blog/portal.asp?blogid=132&pages=data/view/20