首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

有关Oracle JOB定时操作有关问题

2012-04-01 
求助:有关Oracle JOB定时操作问题?创建测试表  SQLcreatetableTEST(adate)    表已创建。    创建一个自

求助:有关Oracle JOB定时操作问题?
创建测试表
  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

热点排行