DROP PROCEDURE

DROP PROCEDUREは、データベースからストアドプロシージャを削除するSQL文である。

DROP PROCEDUREはパッケージに含まれないスタンドアロン・プロシージャを削除するSQL文であり、パッケージに含まれるプロシージャは削除できない。パッケージに含まれるプロシージャを削除するには、DROP PACKAGE文でパッケージ自体を削除するか、CREATE OR REPLACE PACKAGE文でパッケージを再作成する。

SQL

DROP PROCEDURE [schema.]procedure
schema

削除するストアドプロシージャを含むスキーマを指定する。自分のスキーマにあるストアドプロシージャを削除する場合は、スキーマの指定を省略できる。

procedure

削除するストアドプロシージャを指定する。

SQL*Plusでストアドプロシージャを削除する例を示す。

SQL> DROP PROCEDURE set_ename;

プロシージャが削除されました。

SQL>

権限

自分のスキーマにあるストアドプロシージャを削除するには、CREATE PROCEDUREシステム権限が必要である。

他のユーザのスキーマにあるプロシージャを削除するには、DROP ANY PROCEDUREシステム権限が必要である。

MySQL

MySQLにおいても、DROP PROCEDURE SQL文を使用できる。

DROP PROCEDURE example

削除しようとするプロシージャが存在しなかった場合はエラーが発生する。

プロシージャが存在しなくてもエラーが発生しないようにするには、IF EXISTS句を指定する。

DROP PROCEDURE IF EXISTS example

関連SQL