Oracle
 sql >> база данни >  >> RDS >> Oracle

Допълнителна обработка на данните, върнати в даден dbms_output

можете да декларирате променлива, където ще запазите последната дата. можете да го използвате в следващата итерация.

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;

не съм го тествал.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете и изпълните динамична заявка в съхранена процедура на oracle?

  2. Колко време отнема, за да станете сравнително опитни в Oracle, даден SQL Server

  3. Предаване на масив към процедурата на Oracle от c#

  4. SQL заявка за свиване на дублиращи се стойности по период от време

  5. Връщане на „таблица“ (без предварително дефинирани имена на колони) от PL/SQL функция