DROP PACKAGEとは、パッケージ仕様部を削除するSQL文である。
DROP PACKAGE BODYとは、パッケージ本体を削除するSQL文である。
ストアド・パッケージの仕様部と本体を削除する。
DROP PACKAGE [schema.]package
ストアド・パッケージの本体を削除する。
DROP PACKAGE BODY [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文を実行するとトランザクションは暗黙的にコミットされ、ロールバックできない。
RDBMS | 直前のトランザクション | DDL自体のロールバック |
---|---|---|
Oracle Database | 自動的にコミットされる | ロールバックできない |
MariaDB | 自動的にコミットされる | ロールバックできない |
MySQL | 自動的にコミットされる | ロールバックできない |
PostgreSQL | 自動的にコミットされない | ロールバックできる |
Microsoft SQL Server | 自動的にコミットされない | ロールバックできる |