MySQL 8.4 发行说明
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 语句(用于可加载函数)”)。