long with all privileges specific to the procedure. You must have the ALTER ROUTINE privilege for the routine. If the automatic_sp_privileges server system variable is set, that privilege and EXECUTE are granted automatically to the routine creator - see Stored Routine Privileges. The IF EXISTS clause is a MySQL/MariaDB extension. It prevents an error from occurring if the procedure or function does not exist. A NOTE is produced that can be viewed with SHOW WARNINGS. While this statement takes effect immediately, threads which are executing a procedure can continue execution. Examples -------- DROP PROCEDURE simpleproc; IF EXISTS: DROP PROCEDURE simpleproc; ERROR 1305 (42000): PROCEDURE test.simpleproc does not exist DROP PROCEDURE IF EXISTS simpleproc; Query OK, 0 rows affected, 1 warning (0.00 sec) SHOW WARNINGS; +-------+------+------------------------------------------+ | Level | Code | Message | +-------+------+------------------------------------------+ | Note | 1305 | PROCEDURE test.simpleproc does not exist | +-------+------+------------------------------------------+ URL: https://mariadb.com/kb/en/drop-procedure/https://mariadb.com/kb/en/drop-procedure/