MySQL 9.0 发行说明
DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name
这些语句用于删除存储例程(存储过程或函数)。 也就是说,从服务器中删除指定的例程。 (DROP FUNCTION
也用于删除可加载函数;请参见 第 15.7.4.2 节“DROP FUNCTION 语句(用于可加载函数)”。)
要删除存储例程,您必须对其具有 ALTER ROUTINE
权限。 (如果启用了 automatic_sp_privileges
系统变量,则在创建例程时会自动向例程创建者授予该权限和 EXECUTE
权限,并在删除例程时从创建者处删除该权限。请参见 第 27.2.2 节“存储例程和 MySQL 权限”。)
此外,如果例程的定义者具有 SYSTEM_USER
权限,则删除它的用户也必须具有此权限。
IF EXISTS
子句是 MySQL 的扩展。 如果过程或函数不存在,它可以防止发生错误。 会生成一个警告,可以使用 SHOW WARNINGS
查看该警告。
DROP FUNCTION
也用于删除可加载函数(请参阅 第 15.7.4.2 节“DROP FUNCTION 语句(针对可加载函数)”)。