DROP PACKAGE
目的
パッケージはPL/SQLを使用して定義されます。パッケージの作成、変更および削除の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
DROP
PACKAGE
文を使用すると、データベースからストアド・パッケージを削除できます。この文は、パッケージの本体および仕様部を削除します。
ノート:
この文を使用してパッケージから単一のオブジェクトを削除しないでください。かわりに、CREATE
PACKAGE
文およびCREATE
PACKAGE
BODY
文にOR
REPLACE
句を指定して、そのオブジェクトを含めずにパッケージを再作成してください。
前提条件
削除するパッケージが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP
ANY
PROCEDURE
システム権限が必要です。
構文
drop_package::=
セマンティクス
IF EXISTS
IF EXISTS
は、既存の索引を削除する場合に指定します。
DROP
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
BODY
BODY
を指定すると、パッケージ本体のみを削除できます。この句を省略した場合、パッケージ本体と仕様部の両方が削除されます。
パッケージ本体のみを削除して仕様部は削除しない場合、依存するオブジェクトは無効になりません。ただし、パッケージ本体を再作成しないかぎり、パッケージ仕様部で宣言したプロシージャやストアド・ファンクションはコールできません。
schema
パッケージが含まれているスキーマを指定します。schema
を指定しない場合、パッケージは自分のスキーマ内にあるとみなされます。
package
削除するパッケージの名前を指定します。
そのパッケージ仕様部に依存するすべてのローカル・オブジェクトが無効になります。後でこれらのオブジェクトのいずれかを参照した場合、データベースは、そのオブジェクトを再コンパイルしようとします。削除したパッケージを再作成しないかぎり、エラーが戻されます。
任意の統計タイプがパッケージに関連付けられている場合、FORCE
句によって統計タイプの関連付けが解除され、統計タイプを使用して収集されたユーザー定義のすべての統計情報が削除されます。
関連項目:
「ASSOCIATE STATISTICS」および「DISASSOCIATE STATISTICS」を参照してください。
例
パッケージの削除: 例
次の文は、emp_mgmt
パッケージの仕様部および本体を削除し、その仕様部に依存するすべてのオブジェクトを無効にします。このパッケージを作成する例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。
DROP PACKAGE emp_mgmt;