2013-04-18 67 views
0

我知道數據庫和表名,並且需要找到列名。示例如在emp表中;我知道數據7369和表名爲emp,我需要獲得列名稱empno。我的表格有數百個列,搜索每個列名稱變得越來越困難。需要列名,我知道數據庫和表名

+0

你能告訴我們你想完成什麼嗎?這可能會幫助別人幫助你。 – GHC

+2

您可以修改[此處](http://stackoverflow.com/q/208493/266304)或[這裏](http://stackoverflow.com/q/6389666/266304)的答案之一(或許多其他答案你可以搜索)只查看特定的表格。另外,通過「數據庫」,你真的是指'模式'嗎? –

回答

1

您沒有任何選擇,只能在每一列進行搜索。請注意,儘管此值可能會出現在多列中和/或多列中。無法限制在整個表格中出現的頻率。

這是數據庫的要點;一切存儲在一列中,最重要的是,該列有含義。如果您從一個含義中解除了存儲在列中的數據的關聯,那麼您將不得不搜索所有內容。

0

兩個步驟,不使用遊標或複雜的PL/SQL,只有SQL Plus。

  1. 製作您的搜索查詢:

    選擇選擇「|| COLUMN_NAME || ',count(*)from emp where'|| column_name || '= 7369組by'|| COLUMN_NAME || ';'
    from cols where table_name ='EMP';

EG:

-------------------------------------------------------------------------------------- 
select SECOND,count(*) from TESTER where SECOND = 7369 group by SECOND; 

(在我的ENV,第二次是在表計列)

捕獲輸出,清理標題等,並運行它。

它會返回匹配的每一列,以及匹配多少行的計數。

相關問題