Этот код работает.Он запускает подсчет строк так, как вы ожидаете, я хочу настроить его, в основном для подсчета по db_link для таблиц, которые я считаю нужным.
declare
n number;
begin
for i in (select table_name from user_tables) loop
execute immediate' select count(*) from '||i.table_name into n;
dbms_output.put_line('Table Name: '||i.table_name||' Count of Row''s: '||n);
end loop;
end;
/
Итак, это адаптированный код... включает в себя переменную с именем ссылки.(Ссылка работает нормально) Но как ссылаться, это, вероятно, где я отклеиваюсь.
declare
l_dblink varchar2(100) := 'DB1';
n number;
begin
for i in (select table_name from my_tables) loop
execute immediate' select count(*) from '||i.table_name@||l_dblink into n;
dbms_output.put_line('Table Name: '||i.table_name||' Count of Row''s: '||n);
end loop;
end;
/
Может кто-нибудь, пожалуйста, посмотрите и скажите мне, где я иду не так?Я просто хочу, чтобы SQL выбирал имена таблиц из локальной таблицы, а затем использовал имена для подсчета строк в этих таблицах, которые находятся в удаленной базе данных.