sql >> Databáze >  >> RDS >> Oracle

Další zpracování dat vrácených v daném dbms_output

můžete deklarovat proměnnou, kam uložíte poslední datum. můžete jej použít v další iteraci.

declare
  v_last_date date; -- is null
  ...
begin
  ...

  for i in t_data.first .. t_data.last loop
    if v_last_date is null then

      dbms_output.put_line(to_char(t_data(i).englishcalendar,'dd-mm-yyyy')||' 0' ); 
    else
      dbms_output.put_line(to_char(t_data(i).englishcalendar,'dd-mm-yyyy')||' ' 
                          ||to_char(t_data(i).englishcalendar - v_last_date)
                          ||' [' ||to_char(t_data(i).englishcalendar,'dd-mm-yyyy')||'-'
                          || to_char(v_last_date ,'dd-mm-yyyy')||']' ); 
    end if;
    v_last_date := t_data(i).englishcalendar; -- save a date of the iteration   
  end loop;
end;

netestoval jsem to.




  1. Jak nastavíte Incemental na true pro více tabulek se stejným vlastníkem pomocí DBMS_STATS.set_table_prefs?

  2. Zřetězení hodnot z více sloupců v Oracle

  3. doba provádění mysql

  4. Nasazení databázového projektu SQL Server (SSDT) ​​pomocí příkazového řádku