DROP PROCEDUREは、データベースからストアドプロシージャを削除するSQL文である。
DROP PROCEDUREはパッケージに含まれないスタンドアロン・プロシージャを削除するSQL文であり、パッケージに含まれるプロシージャは削除できない。パッケージに含まれるプロシージャを削除するには、DROP PACKAGE文でパッケージ自体を削除するか、CREATE OR REPLACE PACKAGE文でパッケージを再作成する。
DROP PROCEDURE [schema.]procedure
削除するストアドプロシージャを含むスキーマを指定する。自分のスキーマにあるストアドプロシージャを削除する場合は、スキーマの指定を省略できる。
削除するストアドプロシージャを指定する。
SQL*Plusでストアドプロシージャを削除する例を示す。
SQL> DROP PROCEDURE set_ename;
プロシージャが削除されました。
SQL>
自分のスキーマにあるストアドプロシージャを削除するには、CREATE PROCEDUREシステム権限が必要である。
他のユーザのスキーマにあるプロシージャを削除するには、DROP ANY PROCEDUREシステム権限が必要である。
MySQLにおいても、DROP PROCEDURE SQL文を使用できる。
DROP PROCEDURE example
削除しようとするプロシージャが存在しなかった場合はエラーが発生する。
プロシージャが存在しなくてもエラーが発生しないようにするには、IF EXISTS句を指定する。
DROP PROCEDURE IF EXISTS example