sql >> Database teknologi >  >> RDS >> Oracle

Yderligere behandling af data som returneret i givet dbms_output

du kan erklære en variabel, hvor du vil gemme sidste dato. du kan bruge det i næste 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;

jeg testede det ikke.




  1. Hvorfor bruger SQL Server indeksscanning i stedet for indekssøgning, når WHERE-udtrykket indeholder parametriserede værdier

  2. Konvertering af en afgrænset streng (eller kolonne) til rækker i Oracle ved hjælp af en foruddefineret systemfunktion

  3. Til forsvar for sar (og hvordan man konfigurerer det)

  4. Generering af modeller til Flask-AppBuilder ved hjælp af flask-sqlqcodegen