Задача следующая, в БД есть таблицы с PCEF_USERBASE_00 по PCEF_USERBASE_99.
нужно посчитать сколько строк в каждой таблице и вывести в следующем формате:
название таблицы количество строк
PCEF_USERBASE_хх 4888во-первых я не знаю как запросить вывод имени таблицы.
я решил задачу так:
select count(*) from PCEF_USERBASE_00 union
select count(*) from PCEF_USERBASE_01 union
...........................................
select count(*) from PCEF_USERBASE_99
итого 100 строк, не очень изящно.
хочу решить задачу через цикл, как то так:
declare
i number := 0;
j varchar2(10);
v_sql varchar2(2000);
begin
for i in 1..99 loop
if i < 10 then
j := '0'||i;
else
j := i;
end if;
v_sql := 'select count(*) from PCEF_UserBase_'||j||'';
execute immediate v_sql;
end loop;
commit;
end;
/
Подскажите пожалуйста, как вывести имена таблиц, и как правильно реализовать цикл?