Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 43.3Mb
PDF (A4) - 43.4Mb
Man Pages (TGZ) - 297.3Kb
Man Pages (Zip) - 402.5Kb
Info (Gzip) - 4.3Mb
Info (Zip) - 4.3Mb
Excerpts from this Manual

MySQL 8.0 Reference Manual  / ...  / SQL Statements  / Data Definition Statements  /  DROP PROCEDURE and DROP FUNCTION Statements

15.1.29 DROP PROCEDURE and DROP FUNCTION Statements

DROP {PROCEDURE | FUNCTION} [IF EXISTS]sp_name

These statements are used to drop a stored routine (a stored procedure or function). That is, the specified routine is removed from the server. (DROP FUNCTION is also used to drop loadable functions; seeSection 15.7.4.2, “DROP FUNCTION Statement for Loadable Functions”.)

To drop a stored routine, you must have theALTER ROUTINE privilege for it. (If theautomatic_sp_privileges system variable is enabled, that privilege andEXECUTE are granted automatically to the routine creator when the routine is created and dropped from the creator when the routine is dropped. SeeSection 27.2.2, “Stored Routines and MySQL Privileges”.)

In addition, if the definer of the routine has theSYSTEM_USER privilege, the user dropping it must also have this privilege. This is enforced in MySQL 8.0.16 and later.

TheIF EXISTS clause is a MySQL extension. It prevents an error from occurring if the procedure or function does not exist. A warning is produced that can be viewed withSHOW WARNINGS.

DROP FUNCTION is also used to drop loadable functions (seeSection 15.7.4.2, “DROP FUNCTION Statement for Loadable Functions”).