该 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)
TRUNCATE TABLE 不允许用于 user_defined_functions 表。
该 mysql.func 系统表也列出了已安装的可加载函数,但仅列出了使用 CREATE FUNCTION 安装的函数。该 user_defined_functions 表列出了使用 CREATE FUNCTION 安装的可加载函数,以及由组件或插件自动安装的可加载函数。这种差异使 user_defined_functions 比 mysql.func 更适合用于检查哪些可加载函数已安装。