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 陳述式」)。