您的位置:首页 > 其它

指定存储过程第一次的执行时间

2016-01-05 15:02 162 查看
第一种在真正执行时,发现虽然在submit()中的第三个参数指定了第一次执行的时间,但是并没有生效,存储过程还是立即执行

CREATE OR REPLACE PROCEDURE DSPLJOB AS
execdate VARCHAR2(14);
BEGIN
begin
declare
job number;
BEGIN
execdate := '20151120000000';
dbms_job.submit(job, 'AUTOUPDATEGQPJ(10);', to_date(execdate,'yyyy-mm-dd hh24:mi:ss'), 'TRUNC(LAST_DAY(SYSDATE))+1+2/24'); --执行周期 -每月
commit;
DBMS_JOB.RUN(job);
end;
end;
END DSPLJOB;

第二种在真正执行时,在submit()中的第三个参数指定了第一次执行的时间,就可以生效,这种是使用匿名块的方式来声明存储过程

declare
job_id number;
begin
--sys.dbms_job.submit('USP_WCP',sysdate,'sysdate+1/1440');
sys.dbms_job.submit(job_id,
'AUTOUPDATEGQPJ(20);',
trunc(add_months(sysdate,0),'mm') + 17 + 14/24,
'trunc(add_months(sysdate,1),''mm'')+ 10 + 1/24');
end;

不知道这其中的区别在什么地方
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: