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 語法」)。