2013-04-18 38 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,第二次是在表计列)

捕获输出,清理标题等,并运行它。

它会返回匹配的每一列,以及匹配多少行的计数。

相关问题