[英]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.