扩展MySQL 8.0./向MySQL添加函数

第6章向MySQL添加函数

有三种方法可以向MySQL添加函数:

  • 通过用户定义的函数(UDF)接口。用户定义的函数被编译为库文件,然后使用该函数(然后使用)使用动态添加到服务器中并从服务器中删除创建功能删除功能陈述。看为用户定义函数创建功能语句。在某些情况下,UDFS包含在组件或插件库文件中,并在安装或卸载组件或插件时自动加载和卸载。

  • 通过创建本机(内置)MySQL函数。本机函数被编译为mysqld.服务器并永久地获得。

  • 通过创建存储的函数。这些是使用SQL语句编写的,而不是通过编译对象代码编写。写入存储功能的语法未介绍。看使用存储的例程

创建编译功能的每种方法都有优势和缺点:

  • 如果编写用户定义的函数,则必须在服务器本身之外安装对象文件。如果将函数编译到服务器中,则不需要这样做。(此点不适用于组件或插件自动加载的UDF。)

  • 本机函数要求您修改源分发。UDFS没有。您可以将UDF添加到二进制MySQL分发。无需访问MySQL Source。

  • 如果升级MySQL发行版,则可以继续使用先前安装的UDFS,除非您升级到UDF接口更改的较新版本。对于本机函数,您必须每次升级时重复修改。

无论您使用要添加函数的方法,它们都可以像本机函数一样在SQL语句中调用它们ABS()或者Soundex()

对于描述服务器如何解释对不同类型函数的引用的规则,请参阅功能名称解析和解决

以下部分描述了UDF接口的功能,提供编写UDF的说明,讨论MySQL以防止UDF误用的安全预防措施,并介绍如何添加本机MySQL函数。

例如,说明如何编写UDF的源代码,看看sql / udf_example.cc.MySQL源发行版中提供的文件。

笔记

MySQL源代码包含使用doxygen编写的内部文档。10bet官方网站此文档对于10bet官方网站了解MySQL如何从开发人员的角度工作。生成的doxygen内容可用https://dev.10bet靠谱mysql.com/doc/index-其他.html.。还可以使用指令在MySQL源分发本地生成此内容生成MySQL Doxygen文档内容10bet官方网站