%COL_FAX_ID%のような列名を持つデータベース内のすべてのテーブルの名前を見つけることができるSQLクエリを作成できますか?もしそうなら、どのように?
使用されるデータベースは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%'
DB2 の場合は、SYSCAT.COLUMNS
カタログ ビューを使用する必要があります。
SELECT *
FROM SYSCAT.COLUMNS
WHERE COLNAME LIKE '%COL_FAX_ID%'
特定の列名を持つMySQLのすべてのテーブルを見つける方法は?
答え:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';
編集:申し訳ありませんが、MySQLタグをビーイングするためのSQLを見逃しました...しかし、これもうまくいくかもしれませんか?わからない。GL HF
select distinct table_name from all_tab_columns where column_name like %'COL_FAX_ID%'
オラクルの場合:
SELECT table_name,column_name from all_tab_columns
where column_name like '%COL_FAX_ID%'