你用decode判断一下呗 如果to_char(sysdate,'hh24')在9-18之间 就间隔十分钟、、
解决方案 »
- oracle <>标志
- 绑定值的结尾 null字符缺失
- 创建一个序列(急需!在线等待!超简单,送分的)
- JAVA调用ORACLE的同过游标返回结果集的存储过程的CURSOR IS CLOSED的异常
- 一个需求,要求用过程完成的。
- 那位大侠会用pl/sql develop,请问怎样让查询出来的结果显示在一行上呢?
- 组合索引和单个索引的问题
- 在线急等。。。。oracle7快照问题
- 在线等,oracle817安装以后java.exe无法运行
- 模糊搜索语句怎么写?
- Oracle里面 start with connect by 如果取查出来的最后的一个值?
- 在oracle数据库中如何将上万条语句插入到表中?最好给个例子。谢谢啦
DBMS_SCHEDULER.CREATE_JOB(
job_name =>'P_job',
job_type =>'STORED_PROCEDURE',
job_action =>'P_tset_',
start_date => TRUNC(sysdate)+9/(24),
repeat_interval =>'FREQ=minutely ; INTERVAL=10,BYHOUR=9,10,11,12,13,14,15,16,17,18' );
enabled => true;
END;
试试
还有注意中英文标点
'begin
if to_char(sysdate,''hh24'') between ''9'' and ''18'' then
my_proc;
end if;
end;', sysdate, 'sysdate+10/24*60' );
你这样试试?
每次到10分钟时,如果这个状态为0则可以执行,否则就等下一个10分钟。
--可以通过一个稍微复杂的interval实现2 还有一个问题就是程序10分钟之内没有跑完,下个十分钟是继续跑完还是重新跑?
--把你的判断写到存储过程里去。 begin
if sysdate .....(你可以运行的时间段) then
if 运行标识=1 then
update table set 运行标识 = 0;
原来的代码
update table set 运行标识 = 1;
end if;
end if;
end;