指定存储过程第一次的执行时间
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;
不知道这其中的区别在什么地方
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;
不知道这其中的区别在什么地方
相关文章推荐
- (转)解读分区表的秘密
- 《Effective java》读书记录-第8条-覆盖equals时需要遵守通用约定
- 【LEETCODE】46-Permutations
- Ubuntu输入密码登陆后又跳回到登录界面
- R文件丢失需要去找什么
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- 财务管理
- Fork/Join框架介绍
- Yocto开发笔记之《嵌入式linux libcurl编程》(QQ交流群:519230208)
- 监听div到底部的距离
- BeanUtils使用之复制两个实体类中的属性
- Win7系统下VS2008开发的程序打包步骤图解
- 数据库学习
- java开发webservice
- Quartz.NET开源作业调度框架系列
- java 时间戳与日期字符串相互转换
- 正则表达式
- 恢复误删除的文件
- 毕业论文规范
- 2015 移动技术白皮书