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 | 現在のユーザーがアクセスできるオブジェクトテーブルとリレーショナルテーブルについて説明します。 |