求解释:创建一个Job,每天某个时间点执行一个存储过程。 next_date => to_date(???这句是什么意思下次执行job的时间, interval => 'sysdate+22/24');???这句是什么意思执行job的频率,22/24是22小时 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 begin sys.dbms_job.submit(job => :job, what => 'xiaoguo_upcyl;', next_date => to_date('20-03-2014 12:05:18', 'dd-mm-yyyy hh24:mi:ss'), interval =>TRUNC(sysdate) + 1 +22 / (24)); commit; end;next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;interval参数何时这个工作将被重执行 另外,JOB在运行结束之后才会更新next_date,但是计算的方法是JOB刚开始的时间加上interval设定的间隔。。 begin sys.dbms_job.submit(job => :job, what => 'xiaoguo_upcyl;', next_date => to_date('20-03-2014 12:05:18', 'dd-mm-yyyy hh24:mi:ss'), interval =>TRUNC(sysdate) + 1 +22 / (24)); commit; end;next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;interval参数何时这个工作将被重执行你好 我的需求是,管理员手动开启一个数据库定时任务,这个任务的执行间隔,也就是interval是可变的,即管理员可随时改变任务的间隔。因此,我的方案是:1) 写一个存储过程,该过程写在数据库脚本里,mysql.sql PROCEDURE proc(Cycle in INTEGER)IS e_raise EXCEPTION; BEGIN IF p_kversionCycle = 0 THEN RAISE e_raise; END IF; DEL_DBINFO_PACKAGE.JOB_RESET_KCYCLE; DECLARE JOB1; BEGIN DBMS_JOB.SUBMIT(JOB1, ' task;', SYSDATE, 'SYSDATE + Cycle / (24*60)'); COMMIT; END; EXCEPTION WHEN e_raise THEN RAISE_APPLICATION_ERROR(-20006,'p_kversionCycle Is 0!'); WHEN OTHERS THEN RAISE; END procDRMkversionCycle;2) 执行mysql.sql创建数据库3)启动任务declare fuck number(10);begin fuck :=1; procDRMkversionCycle(fuck);end;/目前的问题:1、存储过程procDRMkversionCycle中的参数,在DBMS_JOB.SUBMIT中怎么写?2、启动任务的时候,怎么传参?谢谢! ORA-04030: 在尝试分配 字节 (,) 时进程内存不足 如何获取最接近当前时间的记录? ******* 一行数据按属性转成多行 ****** 一个查询语句,不知道怎么查出数据? 一个查询出GROUP BY筛选结果中其他字段值的问题 oracle中如何取刚插入记录的主键值 求详细解答。把数据库从一台电脑转移到另一太电脑。 使用SQL关键字做表名如何写SQL语句? 大家好,请问怎么另外创建一个数据库! 请教高手呀!!!! sql 某列(值是逗号割开)包含特定数字 的数据的查找 调用oracle存储过程没结果出来,为什么
sys.dbms_job.submit(job => :job,
what => 'xiaoguo_upcyl;',
next_date => to_date('20-03-2014 12:05:18', 'dd-mm-yyyy hh24:mi:ss'),
interval =>TRUNC(sysdate) + 1 +22 / (24));
commit;
end;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;
interval参数何时这个工作将被重执行
sys.dbms_job.submit(job => :job,
what => 'xiaoguo_upcyl;',
next_date => to_date('20-03-2014 12:05:18', 'dd-mm-yyyy hh24:mi:ss'),
interval =>TRUNC(sysdate) + 1 +22 / (24));
commit;
end;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;
interval参数何时这个工作将被重执行
你好 我的需求是,管理员手动开启一个数据库定时任务,这个任务的执行间隔,也就是interval是可变的,即管理员可随时改变任务的间隔。
因此,我的方案是:
1) 写一个存储过程,该过程写在数据库脚本里,mysql.sql
PROCEDURE proc(Cycle in INTEGER)
IS
e_raise EXCEPTION;
BEGIN
IF p_kversionCycle = 0 THEN
RAISE e_raise;
END IF;
DEL_DBINFO_PACKAGE.JOB_RESET_KCYCLE;
DECLARE
JOB1;
BEGIN
DBMS_JOB.SUBMIT(JOB1, ' task;', SYSDATE, 'SYSDATE + Cycle / (24*60)');
COMMIT;
END;
EXCEPTION
WHEN e_raise THEN
RAISE_APPLICATION_ERROR(-20006,'p_kversionCycle Is 0!');
WHEN OTHERS THEN
RAISE;
END procDRMkversionCycle;
2) 执行mysql.sql创建数据库3)启动任务
declare fuck number(10);
begin
fuck :=1;
procDRMkversionCycle(fuck);
end;
/目前的问题:
1、存储过程procDRMkversionCycle中的参数,在DBMS_JOB.SUBMIT中怎么写?
2、启动任务的时候,怎么传参?谢谢!