user_defined_functions 表格包含一個資料列,對應每個由元件或外掛程式自動註冊,或由 CREATE FUNCTION 陳述式手動註冊的可載入函式。如需關於新增或移除表格資料列的操作資訊,請參閱第 7.7.1 節,「安裝與解除安裝可載入函式」。
user_defined_functions 表格的名稱,源自於其初始階段用於指稱現在稱為可載入函式(亦即,使用者定義函式或 UDF)的函式類型的術語。
user_defined_functions 表格具有以下欄位:
UDF_NAME在 SQL 陳述式中參照的函式名稱。如果函式是由
CREATE FUNCTION陳述式註冊且正在解除載入中,則值為NULL。UDF_RETURN_TYPE函式傳回值類型。值為
int、decimal、real、char或row其中之一。UDF_TYPE函式類型。值為
function(純量) 或aggregate其中之一。UDF_LIBRARY包含可執行函式程式碼的程式庫檔案名稱。該檔案位於
plugin_dir系統變數所指定的目錄中。如果函式是由元件或外掛程式而非CREATE FUNCTION陳述式註冊,則值為NULL。UDF_USAGE_COUNT目前函式使用計數。這用於判斷目前是否有陳述式正在存取函式。
user_defined_functions 表格具有以下索引:
(
UDF_NAME) 的主鍵
對於 user_defined_functions 表格,不允許使用 TRUNCATE TABLE。
mysql.func 系統表格也列出了已安裝的可載入函式,但僅限於使用 CREATE FUNCTION 安裝的函式。user_defined_functions 表格則列出了使用 CREATE FUNCTION 安裝的可載入函式,以及由組件或外掛程式自動安裝的可載入函式。這種差異使得 user_defined_functions 在檢查已安裝哪些可載入函式時,比 mysql.func 更為優先。