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 更為適合。