外部函数是用
GBase 8s
支持的外部语言(即,SPL
以外的编程语言)编写的函数。
创建一个 C 用户定义函数
-
编写 C 函数。
-
编译该函数并将编译代码存储在共享库中( C 的共享对象文件)。
-
使用 CREATE FUNCTION 语句在数据库服务器中注册该函数。
创建以 Java™ 语言编写的用户定义函数
- 编写 Java 静态方法,该方法可使用 JDBC 函数与数据库服务通信。
- 编译该 Java 源文件并创建 .jar 文件( Java 的共享对象文件)。
- 使用 EXECUTE PROCEDURE 语句执行 install_jar( ) 程序以在当数据库中安装该 JAR 文件。
- 如果此 UDR 使用用户定义类型,那么请在 SQL 数据类型和
Java 类之间创建一个映射。使用 EXECUTE PROCEDURE 语句 中说明的 setUDTextName( ) 程序。
- 使用 CREATE FUNCTION 语句注册该 UDR
。
数据库服务器只将包含已编译的例程的共享对象文件的路径名存储于数据库,而不是外部例程的内容。当它执行该外部例程时,数据库服务器调用此外部对象代码。
数据库服务器存储有关系统目标表中外部函数的信息,包括 sysprocbody 和 sysprocauth 。有关系统目录的更多信息,请参阅 GBase 8s SQL 参考指南。