sql >> Databasteknik >  >> RDS >> Oracle

Ytterligare bearbetning av data som returneras i given dbms_output

du kan deklarera en variabel där du sparar sista datum. du kan använda den i nästa iteration.

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;

jag testade det inte.




  1. MySQL:Visa med Subquery i FROM-klausulens begränsning

  2. SQL Query som returnerar en tabell där varje rad representerar ett datum i ett givet intervall

  3. PHP kryssruta inställd för att kontrollera baserat på databasvärde

  4. emulerade förberedda uttalanden vs verkliga förberedda uttalanden