DROP PACKAGE

DROP PACKAGEとは、パッケージ仕様部を削除するSQL文である。

DROP PACKAGE BODYとは、パッケージ本体を削除するSQL文である。

構文

ストアド・パッケージの仕様部と本体を削除する。

DROP PACKAGE [schema.]package

ストアド・パッケージの本体を削除する。

DROP PACKAGE BODY [schema.]package
schema
削除するパッケージが存在するスキーマの名前を指定する。削除するパッケージが自分のスキーマにある場合は、スキーマ名の指定を省略できる。
package
削除するパッケージの名前を指定する。

ストアド・パッケージの仕様部と本体の両方を削除する。

SQL> DROP PACKAGE example;

ストアド・パッケージの本体のみを削除する。

SQL> DROP PACKAGE BODY example;

権限

自分のスキーマ内にあるストアド・パッケージを削除する場合、権限は必要ない。

他のスキーマ内にあるストアド・パッケージを削除する場合は、DROP ANY PACKAGEシステム権限が必要である。

トランザクション

SQLはデータ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)およびトランザクション制御言語(TCL)の4種類に分類される。DROP PACKAGE文はDDL(Data Definition Language)の一種である。

DDLに対するトランザクションの扱いは、リレーショナル・データベース管理システムによって異なる。Oracleデータベースの場合、DDL文を実行するとトランザクションは暗黙的にコミットされ、ロールバックできない。

DDLのトランザクション
RDBMS 直前のトランザクション DDL自体のロールバック
Oracle Database 自動的にコミットされる ロールバックできない
MariaDB 自動的にコミットされる ロールバックできない
MySQL 自動的にコミットされる ロールバックできない
PostgreSQL 自動的にコミットされない ロールバックできる
Microsoft SQL Server 自動的にコミットされない ロールバックできる

関連SQL