MySQL 9.0 發行說明
DROP FUNCTION [IF EXISTS] function_name
此語句會捨棄名為 function_name
的可載入函數。(DROP FUNCTION
也用於捨棄預存函數;請參閱第 15.1.29 節「DROP PROCEDURE 和 DROP FUNCTION 語句」。)
DROP FUNCTION
是 CREATE FUNCTION
的互補語句。它需要 mysql
系統架構的 DELETE
權限,因為它會從註冊函數的 mysql.func
系統資料表中移除列。
DROP FUNCTION
也會從 Performance Schema 的 user_defined_functions
表格中移除函數,此表格提供已安裝可載入函數的執行階段資訊。請參閱第 29.12.22.10 節「user_defined_functions 表格」。
在正常的啟動順序期間,伺服器會載入 mysql.func
表格中註冊的函數。由於 DROP FUNCTION
會移除已捨棄函數的 mysql.func
列,伺服器在後續重新啟動期間不會載入該函數。
DROP FUNCTION
不能用於捨棄由元件或外掛程式自動安裝,而非使用 CREATE FUNCTION
安裝的可載入函數。當安裝它的元件或外掛程式解除安裝時,也會自動捨棄此類函數。
注意
若要升級與可載入函數關聯的共用程式庫,請發出 DROP FUNCTION
語句、升級共用程式庫,然後發出 CREATE FUNCTION
語句。如果先升級共用程式庫,然後使用 DROP FUNCTION
,伺服器可能會意外關閉。