Oracle Databaseには、テーブルが存在するかどうかを調べるためにクエリできるビューがいくつかあります。
例
例:USER_TABLES
現在のユーザーが所有するリレーショナルテーブルについて説明します。
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
結果:
COUNTRIES
この例では、COUNTRIES
というリレーショナルテーブルがあるかどうかを確認しました。 現在のユーザーが所有しています。
このクエリを調整して、カウントのみを返すようにすることができます:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
結果:
1
その場合、テーブル名が存在するため、カウントは1
になります。 。
テーブルが存在しない場合は次のようになります。
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
結果:
0
次の表に、OracleDatabaseの表に関する情報を含む他のビューを示します。
表示 | 説明 |
---|---|
USER_TABLES | 現在のユーザーが所有するリレーショナルテーブルについて説明します(このビューは上記の例で使用されています)。 |
ALL_TABLES | 現在のユーザーがアクセスできるリレーショナルテーブルについて説明します。 |
DBA_TABLES | データベース内のすべてのリレーショナルテーブルについて説明します。 |
USER_ALL_TABLES | 現在のユーザーが所有するオブジェクトテーブルとリレーショナルテーブルについて説明します。 |
DBA_ALL_TABLES | データベース内のすべてのオブジェクトテーブルとリレーショナルテーブルについて説明します。 |
ALL_ALL_TABLES | 現在のユーザーがアクセスできるオブジェクトテーブルとリレーショナルテーブルについて説明します。 |