MySQL 8.4 Release Notes
15.1.29 删除存储过程和函数语句
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 语句”)。