不知道oracle的定时任务里面能不能配置循环批次执行存储过程,而不是单纯的按时间来。
不准备每10分钟或多久执行一次,这种不保险。
就想一个批次接着一个批次的来执行存储过程 一天循环个200次或者更多
各位版主以及大牛帮帮忙,不用定时任务 用其它方法也ok
------解决思路----------------------
建议在os上建定时任务,隔一段时间判断上次是否执行完成,执行完成则开始下一次任务
1、建立一个日志表,开始执行时间,执行结束时间
2、过程伪代码,参考
检查上次过程是否完成(检查是否有执行结束时间为空的记录)
如果上次还未执行完成,直接退出
如果已经执行完成,则插入日志记录,日志有开始时间,结束时间为空
执行你的定时任务
更新日志记录的结束时间,标识本次任务结束
------解决思路----------------------
就想一个批次接着一个批次的来执行存储过程 一天循环个200次或者更多
这个批次的含义是什么,和时间无关,只要循环N次就好?那么两次之间有时间间隔么
------解决思路----------------------
不能。死循环很危险
你的这个思路,变成是先执行个死循环的存储过程,然后再去干预该执行中的存储过程
没有这样的参数。参数是要在执行之前指定的。后面的干预只能是去强制终止进程
这个思路不太可行
------解决思路----------------------
“不准备每10分钟或多久执行一次,这种不保险。”这有啥不保险的
给你一个变通的办法,创建一个JOB,定间隔执行,比如一分钟执行一次存储过程,存储过程里面可判断执行的各类条件,符合条件继续,不符合则跳出本次任务。
------解决思路----------------------
建立一个存储过程,把你要执行的存储过程全部写到里边去,然后用JOB 调用新的存储过程,来达到批处理的目的。你可以建一张表来记录每个存储过程的执行状态结果,谢谢