我可以编写一个 sql 查询来查找数据库中所有表的名称,这些表的列名如 %COL_FAX_ID%。如果是这样,怎么做?
使用的数据库是 oracle 或 db2。
对于 Oracle,您可以尝试:
SELECT owner,
table_name,
column_name
FROM all_tab_cols
WHERE column_name LIKE '%COL_FAX_ID%'
ORDER BY owner,
table_name;
有关 Oracle 数据字典视图等的完整列表,请参见此处。
希望能帮助到你...
我没有安装 oracle 来测试它,但您应该能够执行以下操作:
SELECT TABLE_NAME
FROM ALL_TAB_COLUMNS
WHERE COLUMN_NAME LIKE '%COL_FAX_ID%'
回答:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';
编辑:对不起,我错过了 sql for beeeing mysql 标签...但这也可以工作吗?不知道。Gl & Hf
select distinct table_name from all_tab_columns where column_name like %'COL_FAX_ID%'
对于 DB2,您将希望使用SYSCAT.COLUMNS
目录视图。
SELECT *
FROM SYSCAT.COLUMNS
WHERE COLNAME LIKE '%COL_FAX_ID%'
For oracle:
SELECT table_name,column_name from all_tab_columns
where column_name like '%COL_FAX_ID%'