declare
v_sysdate_before varchar2(100) := TO_char(SYSDATE - 1, 'YYYYMMDDHH24MI');
v_sysdate_after varchar2(100) := TO_char(SYSDATE - 1, 'YYYYMMDDHH24MI');
begin
for i in TO_NUMBER(v_sysdate_before)..TO_NUMBER(v_sysdate_after) loop
dbms_output.put_line(i);
end loop;
end;
então brother tenho um diretorio que vai cair um arquivo la a cada 2 horas o nome é ...201110241048 tem um nome e a data e hora para diferenciar.
Precisava de um for para ler rm dia antes caso desse algum problema no job na procedure em alguma coisa, sacou?
declare
v_sysdate_before varchar2(100) := TO_char((SYSDATE - 1), 'YYYYMMDDHH24MI');
v_sysdate_after varchar2(100) := TO_char((SYSDATE - 1), 'YYYYMMDDHH24MI');
contador number;
begin
contador := v_sysdate_before-v_sysdate_after;
if contador = 0 then
contador := 1;
end if;
for i in 1..contador loop
dbms_output.put_line(i);
end loop;
end;
declare
vNomeArquivo VARCHAR2(200);
vMinutos NUMBER := 24*60; -- =1440=1dia;
begin
for i in 1.. vMinutos loop
vNomeArquivo := to_char((to_date('01/01/2011 00:00','dd/mm/yy hh24:mi') + 1/24/60 * i),'ddmmyyyy hh24mi');
dbms_output.put_line(vNomeArquivo);
end loop;
end;
declare
vNomeArquivo VARCHAR2(200);
vMinutos NUMBER := 24*60; -- =1440=1dia;
begin
for i in 1.. vMinutos loop
vNomeArquivo := to_char((to_char(sysdate,'yyyymmddhh24mi' - 1) + 1/24/60 * i),'yyyymmddhh24mi');
dbms_output.put_line(vNomeArquivo);
end loop;
end;