代码:
begin
sys.dbms_job.submit(job => :job,
what => 'PROC_INF_MAIN;',
next_date => to_date(sysdate, 'dd-mm-yyyy'),
interval => 'trunc(sysdate+1,''dd'')');
commit;
end;偶是在plsql里面建的,建完后昨天上午9点的多执行了一把,成功了。
按照我写的代码的意思,应该今天晚上执行的,但是早上跑来一看,没有执行。
问下什么问题?
谢谢
begin
sys.dbms_job.submit(job => :job,
what => 'PROC_INF_MAIN;',
next_date => to_date(sysdate, 'dd-mm-yyyy'),
interval => 'trunc(sysdate+1,''dd'')');
commit;
end;偶是在plsql里面建的,建完后昨天上午9点的多执行了一把,成功了。
按照我写的代码的意思,应该今天晚上执行的,但是早上跑来一看,没有执行。
问下什么问题?
谢谢
select to_char(next_date,'YYYY-MM-DD HH24:MI:SS') next_date from user_jobs where what = 'PROC_INF_MAIN;';
比如,我们要JOB在每天的凌晨3:30执行而不管上次执行到底是几点,只需要设置interval为trunc(SYSDATE)+3.5/24+1即可。完整的SQL如下: SQL> variable jobno number;SQL> BEGIN 2 DBMS_JOB.SUBMIT(job => :jobno, 3 what => 'sp_test_next_date;', 4 next_date => SYSDATE, 5 interval => 'trunc(SYSDATE)+3.5/24+1'); 6 COMMIT; 7 END; 8 /
sys.dbms_job.submit(job => :job,
what => 'PROC_INF_MAIN;',
next_date => SYSDATE,
interval => 'sysdate+1');
commit;
end;
非常感谢你提供给我查询下次执行时间的方法
更改时间后,
我查了下我的下次执行时间2007-06-26 10:12:00
但是过了这个时间还是不执行
我是不是有什么东西没有启动?
对了,我是在plsql下建的
建完后,run了一下。就没作别的操作了。
run 的时候能正常执行。
------------------------------------ ----------- ----------
job_queue_processes integer 10
SQL>
--every 30mins
---------------------------------------------------------------------
declare
v_jobno number;
begin
dbms_job.submit(v_jobno,
'&my_sp;',
trunc(sysdate, 'HH24') + FLOOR(TO_NUMBER(TO_CHAR(sysdate, 'MI'))/30)/48+1/48,
'trunc(sysdate, ''HH24'') + FLOOR(TO_NUMBER(TO_CHAR(sysdate, ''MI''))/30)/48 + 1/48'
);
commit;
end;
/
---------------------------------------------------------------------
--正点执行的job
---------------------------------------------------------------------
declare
v_jobno number;
begin
dbms_job.submit(v_jobno,
'&my_sp;',
trunc(sysdate, 'HH24')+1/24,
'trunc(sysdate, ''HH24'') + 1/24');
commit;
end;
/ ---------------------------------------------------------------------
--半点执行的job
---------------------------------------------------------------------
declare
v_jobno number;
begin
dbms_job.submit(v_jobno,
'&my_sp;',
trunc(sysdate, 'HH24') + FLOOR(TO_NUMBER(TO_CHAR(sysdate, 'MI'))/30)/48+1/48,
'trunc(sysdate, ''HH24'') + 3/48');
commit;
end;
/
---------------------------------------------------------------------
--每周执行一次的job(周一早上10:00)
--trunc(sysdate, 'd')是将时间截断到本周周日(本周第一天)早上0点
---------------------------------------------------------------------
declare
v_jobno number;
begin
dbms_job.submit(v_jobno,
'&my_sp;',
trunc(sysdate, 'd') + 8 + 10/24,
'trunc(sysdate, ''d'') + 8 + 10/24');
commit;
end;
/楼主可以参照一下
这个必须要有的啊,
CJQ0 进程有吗?