DB2 9 利用斥地(733 测验)认证指南,第 9 部分: 用户定义的例程(2)

将定制的和复杂的业务逻辑集成到 SQL 语句中
developerWorks








用户定义的函数

什么是用户定义的函数?

用户定义的函数 (UDF) 是由用户定义的在数据库引擎中运转的函数。UDF 将一组常常运转的过程语句或 SQL 语句封装到一个单元中。如答应以使代码易于筹划 —— 不必屡次地将罕见的或复杂的逻辑包罗在多个语句中,而是将逻辑独自放入一个函数中。

在 DB2 中,有许多分比喻类型的函数,也有许多分比喻编程说话可用来编写这些函数。下面的列表总结了 DB2 中分比喻的函数类型:

  • SQL 标量 : 运用 SQL 前去单个数据类型值
  • SQL 行 : 运用 SQL 前去一行数据
  • SQL 表 : 运用 SQL 前去一个 SQL 表
  • 内部标量 : 前去单个数据类型;这种函数是运用内部编程说话编写的
  • 内部表 : 前去一个完整的表;这种函数是运用内部编程说话编写的
  • OLE DB 内部表 : 用户定义的 OLE DB 内部表函数注册在数据库中,用于从 OLE DB 供给顺序中会见数据
  • 模板 : 基于另一个函数或模板

从这个列表中可以看到,这些函数基本上可以分为两大类型。更罕见的类型是 内部SQL 函数,这些函数是运用 DB2 SQL Procedural Language (SQL PL) 的子集编写的。有些函数也可以用内部编程说话,比喻 C/C 、 VB.NET 或 Java 说话来编写。这些函数被称为内部 函数。内部函数的代码存储在数据库编目表中,而内部函数则只是对文件系统中一个地位的引用,该地位存储编译好的内部编程说话代码。

SQL 函数与内部函数之间一个严重的分比喻之处是编译代码的地位分比喻。SQL 函数既可以远程编译,也可以当地编译,因为这种函数存储在数据库的编目表中。而内部函数则没有这么矫捷。必须此刻带有恰当编译器和编译库的机器上对它终了编译,然后再传输到效劳器。偶尔刻,取决于所运用的编程说话,为了使编译后的代码可以运转,编译机器与数据库效劳器上的操作系统和底层硬件须要分歧。这也是 SQL 函数比内部函数更受迎接的一个缘由,凑合必须支撑多种操作系统和硬件配置的利用顺序,这一点稀罕明显。

下面的列表总结了可用于编写 UDF 的编程说话:

  • DB2 SQL PL(用于运用一条或多条 SQL 语句编写的函数)
  • C/C
  • Java 说话
  • .NET CLR 说话,比喻 C#
  • OLE

在接上去的两个末节中,您将进修 SQL 函数和内部函数。您还将更深化地进修基于 SQL 的函数,因为这些函数最为罕见。




版权声明: 原创作品,答应转载,转载时请务必以超链接方式标明文章 原始来由 、作者信息和本声明。不然将追查法例责任。

posted @ 2011-03-06 23:45  蓝色的天空III  阅读(175)  评论(0编辑  收藏  举报