Oracle如何查找与特定列名匹配的所有列

时间:2014-10-30 07:06:33

标签: oracle match multiple-columns

我想识别数据库中名称与给定输入列匹配且其数据类型与给定输入列匹配的所有列。有人可以建议查询吗?

2 个答案:

答案 0 :(得分:0)

例如,如果我想查找名称为' CELL'的列。在表格' INT_TRN_RLDEP_CELL'中,查询将是

select * from ALL_TAB_COLUMNS where table_name like 'INT_TRN_GRN_RLDEP_CELL' and COLUMN_NAME like 'CELL';

有关更多信息,请访问http://en.wikipedia.org/wiki/Oracle_metadata或有关表metada的oracle文档

答案 1 :(得分:0)

  

...数据库中名称与给定输入列匹配且数据类型与给定输入列匹配的所有列

您可以使用all_tab_columns数据字典视图。例如,要选择NUMBER类型的所有列以及列名称以"A"开头的位置,请使用类似

的内容
SELECT table_name, column_name, data_type 
FROM all_tab_columns 
WHERE data_type='NUMBER' AND column_name like 'A%';
TABLE_NAME             COLUMN_NAME            DATA_TYPE
---------------------- ------- ------------------------------
AUDIT_ACTIONS          ACTION                 NUMBER
SDO_CS_SRS             AUTH_SRID              NUMBER
APEX_WS_APP_PAGES      APPLICATION_ID         NUMBER
...