table_name中的select count(*)返回错误

时间:2015-11-16 15:56:00

标签: sql oracle

我正在尝试查询我的oracle数据库以确定每个表中的条目数。我将以下查询的结果假脱机到sql文件:

select 'select count(*) '||table_name||';' from dba_tables;

这创建了一个格式为

的sql文件
select count(*) from Table_Name1;
select count(*) from Table_Name2;
etc

然后我假装运行这个sql文件的输出,但它只返回了一些表的计数,对于其他表只是说:

  

'此表或视图不存在'

如果我刚刚从数据库中自动填充了表名列表,那该怎么办?

本练习的最终目的是让一个文件包含每个表中所有字段的数量,然后使用此数据库对程序进行更改,并再次将相同的操作运行到新文件中并比较2以便当我对程序进行更改时,我可以看到哪些表发生了变化。

1 个答案:

答案 0 :(得分:6)

您忘了完全符合这些名称:

Unknown provider: userInstanceProvider <- userInstance <- StartController

如果你的表有非标准名称,你也应该在那里抛出双引号:

select 'select count(*) '||owner||'.'||table_name||';' 
from dba_tables;