2012-02-15 61 views
2

這裏有兩種情況我最近碰到:約在總表選擇信息 - 甲骨文SQL

  1. 查詢設定爲那些有超過0行,但不到50行的表。
  2. 查詢所有表以找到哪個列有一個名爲特定值的列。

這兩種情況都有可能嗎?如果是這樣,怎麼樣?

回答

3

爲了得到一個表的特定列名:

select * from all_tab_columns where column_name = '<colname in upper case>'; 

表中的行數的估計,可以發現:

select table_name, num_rows from all_tables where num_rows between 1 and 49; 

如果你的統計數據是這將是近最新。如果不是,則需要創建一個pl/sql進程來遍歷這些表並對它們執行count(*)

編輯:在查詢行數中發現了Ask Tom文章:Finding the number of rows in each table by a single sql