У меня есть процедура, которая выводит в файл .csv, она в основном создает заголовок для некоторых значений, а затем перечисляет значения внизу.Я пытаюсь адаптировать этот код, чтобы просто добавить все эти значения.Я помещу их в другой заголовок в том же файле CSV в разделе «ВСЕГО» или аналогичный.
Я еще ничего не пробовал с этим, потому что, честно говоря, я озадачен тем, как я могу сложить значения, которые получаются из зацикленного вывода.
Мой код в основном такой:
create or replace procedure PROJECT is
--variables
l_dblink varchar2(100) := 'DB1';
ROW_COUNT number;
file_handle UTL_FILE.file_type;
BEGIN
utl_file.put_line(file_handle, 'OWNER,TABLE_NAME,ROW_COUNT');
--main loop
for rws in (select /*+parallel */ owner, table_name
from dba_tables@DB1 a
where table_name in (select table_name
from meta_table
where driver_table is not null
and additional_joins is null)
and a.owner in (select distinct schema
from meta_table c)
order by table_name)
loop
execute immediate 'select count(*) from ' ||rws.owner||'.'||rws.table_name || '@' || l_dblink into ROW_COUNT;
utl_file.put_line(file_handle,
rws.OWNER || ',' ||
rws.TABLE_NAME || ',' ||
ROW_COUNT);
end loop;
END PROJECT;
/
, который выдает следующий результат:
OWNER TABLE_NAME ROW_COUNT
SCOUSE_BOB KELLOGS 1000
SCOUSE_BOB UNCLE_TOBY 4000
Я ищу средство, с помощью которого можно добавить эти ROW_COUNTS.
Я добавлю новую utl_file.put_line с
TOTALS
Но как мне получить PL / SQL для суммирования значений и получения '5000'?
Спасибо!