想要实现这样的功能.
在每天的8:00-20:00之间,每小时执行一次JOB.
或者是当前job检查到时间如果不是8:00-20:00就不执行,若果是则每小时执行一次.
请教如何实现?
create or replace exe_job_proc
as
begin
if(判断时间大于等于8,小于等于20) then
--加入你现在job调用的过程
end if;
end;
/
然后把exe_job_proc加入job中。
dbms_job.submit(:num,'exe_job_proc;',sysdate,'sysdate+1/24');
用SCHEDULER JOB可以实现你的要求
SQL code:
BEGIN
SYS.DBMS_SCHEDULER.DROP_JOB
(job_name => 'CHINA.SCH_JOB_AP030');
END;
/
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'CHINA.SCH_JOB_AP030'
,start_date => TO_TIMESTAMP_TZ('2009/03/31 15:45:00.000000 +08:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
,repeat_interval => 'FREQ=WEEKLY; BYDAY=MON,TUE,WED,THU,FRI;BYHOUR=9,10,11,13,14,15,16,17;BYMINUTE=15,45;BYSECOND=0'
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => 'BEGIN
CHINA.SP_MAKE_AP030
(sysdate-3/* DATE */ ,
sysdate/* DATE */ ,
0 /* NUMBER */ ,
''SYSTEM''/* VARCHAR2 */ );
END;'
,comments => '上班时间每半时更新次AP030'
);
SYS.DBMS_SCHEDULER.SET_ATT
3-5人,工作地点上海浦东软件园,2-3年经验,英文流利,有意者请联系38954510-1355,15821699737,y.ming@live.cn
自己顶。。。
没有ORACLE ERP的经验,有用友和TIPTOP经验,英语说不好,看还是可以!
不知道有没有 ......