是这样吗! declare v_starttime varchar2(20); v_endtime varchar2(20); v_num number; v_date date; i number:=0; begin v_starttime:='2007-08-01'; v_endtime:='2007-08-05'; v_num:=to_date(v_endtime,'yyyy-mm-dd')-to_date(v_starttime,'yyyy-mm-dd'); for i in 1..v_num+1 loop dbms_output.put_line(to_date(v_endtime,'yyyy-mm-dd')+i-1); v_date:=to_date(v_endtime,'yyyy-mm-dd')+i-1; /*执行你的pro*/ YourProcedure(v_date); end loop; end;
declare
v_starttime varchar2(20);
v_endtime varchar2(20);
v_num number;
v_date date;
i number:=0;
begin
v_starttime:='2007-08-01';
v_endtime:='2007-08-05';
v_num:=to_date(v_endtime,'yyyy-mm-dd')-to_date(v_starttime,'yyyy-mm-dd');
for i in 1..v_num+1
loop
dbms_output.put_line(to_date(v_endtime,'yyyy-mm-dd')+i-1);
v_date:=to_date(v_endtime,'yyyy-mm-dd')+i-1;
/*执行你的pro*/
YourProcedure(v_date);
end loop;
end;