繁体   English   中英

从table_name中选择count(*)返回错误

[英]select count(*) from table_name returns error

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

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

这创建了一个格式为sql的文件

select count(*) from Table_Name1;
select count(*) from Table_Name2;
etc

然后,我假脱机了运行此sql文件的输出,但是它仅返回某些表的计数,对于其他表,它只是简单地说:

“此表或视图不存在”

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

本练习的最终目的是要创建一个文件,其中包含每个表中所有字段的数目,然后使用该数据库对程序进行更改,并再次将相同的操作运行到一个新文件中,并比较两个文件,以便我可以看到当我对程序进行更改时,哪些表会更改。

您忘记了完全限定名称:

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

如果您的表具有非标准名称,则也应该在其中添加双引号:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM