1

%COL_FAX_ID%のような列名を持つデータベース内のすべてのテーブルの名前を見つけることができるSQLクエリを作成できますか?もしそうなら、どのように?

使用されるデータベースはoracleまたはdb2です。

4

6 に答える 6

6

Oracleの場合、次を試すことができます:

SELECT owner,
       table_name,
       column_name
  FROM all_tab_cols
 WHERE column_name LIKE '%COL_FAX_ID%'
 ORDER BY owner,
          table_name;

Oracle データ ディクショナリ ビューなどの完全なリストについては、こちらを参照してください。

それが役に立てば幸い...

于 2012-08-22T08:27:29.407 に答える
2

これをテストするためのOracleインストールはありませんが、次のようなことができるはずです:

SELECT TABLE_NAME
FROM ALL_TAB_COLUMNS
WHERE COLUMN_NAME LIKE '%COL_FAX_ID%'
于 2012-08-22T08:28:49.127 に答える
0

DB2 の場合は、SYSCAT.COLUMNSカタログ ビューを使用する必要があります。

SELECT *
FROM SYSCAT.COLUMNS
WHERE COLNAME LIKE '%COL_FAX_ID%'
于 2012-08-22T15:33:02.100 に答える
0

特定の列名を持つMySQLのすべてのテーブルを見つける方法は?

答え:

SELECT DISTINCT TABLE_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME IN ('columnA','ColumnB')
        AND TABLE_SCHEMA='YourDatabase';

編集:申し訳ありませんが、MySQLタグをビーイングするためのSQLを見逃しました...しかし、これもうまくいくかもしれませんか?わからない。GL HF

于 2012-08-22T08:26:46.077 に答える
0
select distinct table_name from all_tab_columns where column_name like %'COL_FAX_ID%' 
于 2012-08-22T08:28:17.647 に答える
0

オラクルの場合:

SELECT table_name,column_name from all_tab_columns 
where column_name like '%COL_FAX_ID%'
于 2012-08-22T08:31:34.023 に答える