【发布时间】:2019-03-01 05:28:52
【问题描述】:
此代码有效。它以您期望的方式运行行数,我想对其进行调整,主要是对我认为合适的表的 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 从本地表中提取表名,然后使用这些名称来计算这些表中的行数,这些表驻留在远程数据库中。
【问题讨论】: