DROP PROCEDURE

目的

プロシージャはPL/SQLを使用して定義されます。プロシージャの作成、変更および削除の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

DROP PROCEDURE文を使用すると、データベースからスタンドアロンのストアド・プロシージャを削除できます。この文を使用してパッケージの一部であるプロシージャを削除しないでください。かわりに、DROP PACKAGE文を使用してパッケージ全体を削除するか、OR REPLACE句を指定したCREATE PACKAGE文を使用して、そのプロシージャを含めずにパッケージを再定義してください。

前提条件

削除するプロシージャが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP ANY PROCEDUREシステム権限が必要です。

構文

drop_procedure::=

セマンティクス

schema

プロシージャが含まれているスキーマを指定します。schemaを指定しない場合、プロシージャは自分のスキーマ内にあるとみなされます。

プロシージャ

削除するプロシージャの名前を指定します。

プロシージャを削除すると、そのプロシージャに依存するすべてのローカル・オブジェクトが無効になります。後でこれらのオブジェクトのいずれかを参照した場合、データベースは、そのオブジェクトを再コンパイルしようとします。削除したプロシージャを再作成しないかぎり、エラー・メッセージが戻されます。

プロシージャの削除: 例

次の文は、ユーザーhrが所有するプロシージャremove_empを削除し、remove_empに依存するすべてのオブジェクトを無効にします。

DROP PROCEDURE hr.remove_emp;