### 13.1.29 DROP PROCEDURE 和 DROP FUNCTION 语句

[](<>)[](<>)

```
DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name
```

这些语句用于删除存储例程（存储过程或函数）。即，从服务器中删除指定的例程。(`拖放功能`也用于删除可加载函数；看[第 13.7.4.2 节，“可加载函数的 DROP FUNCTION 语句”](drop-function-loadable.html).)

要删除存储的例程，您必须拥有[`改变常规`](privileges-provided.html#priv_alter-routine)特权。（如果`automatic_sp_privileges`系统变量已启用，该权限和[`执行`](privileges-provided.html#priv_execute)在创建例程时自动授予例程创建者，并在删除例程时从创建者删除。看[第 25.2.2 节，“存储的例程和 MySQL 权限”](stored-routines-privileges.html).)

这`如果存在`子句是 MySQL 的扩展。如果过程或函数不存在，它可以防止发生错误。产生一个警告，可以查看[`显示警告`](show-warnings.html).

[`拖放功能`](drop-function.html)也用于删除可加载函数（参见[第 13.7.4.2 节，“可加载函数的 DROP FUNCTION 语句”](drop-function-loadable.html)）。
