oracle 中从某天到某天一天一次执行某个函数

DECLARE
v_days INTEGER;
v_start VARCHAR2(10);
v_end VARCHAR2(10);
v_3 INTEGER;
v_enddays date;
begin
v_start :='20170101';--开始日期
v_end :='20171102';--结束日期
v_days :=to_date(v_end,'yyyy-mm-dd')-to_date(v_start,'yyyy-mm-dd');--结束日期和开始日期之间的日期差
for v_3 in 0..v_days LOOP
v_enddays :=to_date(v_start,'yyyy-mm-dd')+v_3;--循环之后的结束日期

函数(v_enddays);
end loop;
end;

升级版本:

DECLARE
v_start VARCHAR2(20);
v_3 INTEGER;
v_enddays date;
begin
v_start := '2017-12-15 00:00:02'; --开始日期

for v_3 in 0 .. 3 LOOP
v_enddays := to_date(v_start, 'yyyy-mm-dd hh24:mi:ss') + v_3;
imos_day_report_test1(v_enddays);
end loop;
end;

原文地址:https://www.cnblogs.com/webttt/p/7800053.html