MySQL服务器用户定义的功能

MySQL Server允许创建用户定义的函数(UDF)并将其加载到服务器中以扩展服务器功能。服务器可以实现UDF全部或部分功能。此外,您可以编写自己的UDF。

以下各节介绍如何安装和卸载UDF,以及如何在运行时确定安装了哪些UDF并获取有关它们的信息。有关编写UDF的信息,请参见 第28.4节“向MySQL添加函数”

安装和卸载 User-Defined 功能

必须先将 User-defined functions(UDF)加载到服务器中,然后才能使用它们。 MySQL 在运行时支持 UDF loading。

要加载 UDF,请使用创建 FUNCTION语句。例如:

CREATE FUNCTION metaphon
  RETURNS STRING
  SONAME 'udf_example.so';

UDF文件的基本名称取决于您的平台。通用后缀适用.so于Unix和类Unix系统, .dll适用于Windows。

加载UDF时,可从mysql.func系统表中获得有关它的信息 。请参见 第5.6.2节“获取用户定义的功能信息”。 

CREATE FUNCTION还会在mysql.func系统表中注册UDF,以使服务器在后续重新启动时将其加载。因此, CREATE FUNCTION需要mysql数据库的插入权限。

要删除 UDF,请使用DROP FUNCTION语句。例如:

DROP FUNCTION metaphon;

DROP FUNCTION卸载UDF并将其从mysql.func系统表中删除。因此,DROP FUNCTION 需要mysql数据库的删除权限。如果UDF不再在表中注册,则后续重新启动时服务器不会自动加载UDF。

您不能用于CREATE FUNCTION重新安装以前安装的功能。要重新安装功能,请先使用将其删除 DROP FUNCTION,然后再使用进行安装CREATE FUNCTION。例如,如果要升级到提供该函数的更新实现的MySQL新版本,或者重新编译已编写的函数的新版本,则需要执行此操作。否则,服务器将继续使用旧版本。

如果使用--skip-grant-tables选项启动服务器 ,则它不会查询该mysql.func表,也不会加载该表中列出的UDF。

获取用户自定义功能信息

mysql系统数据库中的func table 显示哪些 UDF 已使用CREATE FUNCTION注册:

SELECT * FROM mysql.func;

func table 包含以下列:

  • name

SQL语句中引用的UDF名称。

  • ret

UDF返回值类型。允许值为0(STRING),1(REAL),2(INTEGER),3(ROW)或4(DECIMAL)。

  • dl

包含可执行UDF代码的UDF库文件的名称。该文件位于plugin_dir系统变量命名的目录中 。

  • type

UDF类型function(标量)或 aggregate

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值