sql >> データベース >  >> RDS >> Oracle

Oracleにテーブルが存在するかどうかを確認します

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


    1. オンライン調査のためのデータベースモデル。パート2

    2. PL / SQL ORA-01422:正確なフェッチが要求された数を超える行を返します

    3. SQL Serverで信頼できないすべてのCHECK制約を返す方法(T-SQLの例)

    4. Oracleで先行ゼロを使用して数値をフォーマットする2つの方法