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,伺服器可能會意外關閉。