データベースのドロップ
DROP DATABASE コマンドは、データベースの除去に使用します。 これにより、データベースのカタログ・エントリー、およびデータの置かれたディレクトリーが削除されます。 DROP DATABASE コマンドは、元に戻せません。 ターゲット・データベースに接続している場合には、このコマンドは発行できません。
構文
DROP DATABASE コマンドの構文
DROP DATABASE <name>入力
DROP DATABASE コマンドの入力は以下のとおりです。
| 入力 | 説明 |
|---|---|
| <name> | 除去するデータベースの名前。 |
出力
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;