1. ホーム
  2. sql

[解決済み] Oracleデータベースから、特定のカラム名を持つテーブルを検索しますか?

2022-10-13 17:34:03

質問

多くのテーブルを持つ大規模な Oracle データベースを持っています。 特定のカラム名を持つテーブルがあるかどうかをクエリまたは検索する方法はありますか?

IEはそのカラムを持つすべてのテーブルを表示します。 id, fname, lname, address

追加するのを忘れた詳細: 異なるスキーマを検索できるようにする必要があります。 接続に使用しなければならないものは、私が検索する必要があるテーブルを所有していません。

どのように解決するのですか?

特定のカラムを持つすべてのテーブルを検索するには。

select owner, table_name from all_tab_columns where column_name = 'ID';

4つのカラムのいずれか、またはすべてを持つテーブルを検索する。

select owner, table_name, column_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS');

4つのカラムをすべて持つ(欠落がない)テーブルを見つけること。

select owner, table_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS')
group by owner, table_name
having count(*) = 4;