データベースのドロップ

DROP DATABASE コマンドは、データベースの除去に使用します。 これにより、データベースのカタログ・エントリー、およびデータの置かれたディレクトリーが削除されます。 DROP DATABASE コマンドは、元に戻せません。 ターゲット・データベースに接続している場合には、このコマンドは発行できません。

構文

DROP DATABASE コマンドの構文
DROP DATABASE <name>

入力

DROP DATABASE コマンドの入力は以下のとおりです。
表 1. DROP DATABASE の入力
入力 説明
<name> 除去するデータベースの名前。

出力

DROP DATABASE コマンドの出力は以下のとおりです。
表 2. DROP DATABASE の出力
出力 説明
DROP DATABASE コマンドは成功します。
DROP DATABASE: cannot be executed on the currently open database 削除しようとしたデータベースに接続できません。 他の任意のデータベースに接続し、コマンドを再度実行してください。
DROP DATABASE: may not be called in a transaction block コマンドを呼び出す前に、進行中のトランザクションを終了する必要があります。
ERROR: Can't delete database - num object(s) depend on objects in it データベースにユーザー定義関数、ユーザー定義集約、ストアード・プロシージャーのようなオブジェクトが含まれており、他のデータベースで定義されているオブジェクトに依存しています。 SELECT * FROM_v_dependクエリを使用して、削除したいデータベースのオブジェクトに依存している他のデータベースのオブジェクトを特定する。 データベースを除去するには、その前にオブジェクトを除去または変更して、すべての依存関係を解決する必要があります。
ERROR: DROP DATABASE: Database "DB_NAME" has 269968 tables and/or sequences. Objects must be manually dropped until the number is less than 260000. データベースには、260,000 を超えるオブジェクトが存在しています。 オブジェクトの数が 260,000 より少なくなるまで、データベース内のオブジェクトを手動で除去する必要があります。 その後、DROP DATABASE コマンドを使用してデータベースを除去することができます。

特権

admin ユーザーかデータベース所有者であるか、あるいはアカウントがそのデータベースまたは Database オブジェクト・クラスに対する Delete 特権を持っている必要があります。

使用法

以下に使用例を示します。
  • データベース emp を除去します。
    MYDB.SCH1(USER)=> DROP DATABASE emp;