簡體   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