新增内容

对象关系功能部件

抽象数据类型或结构化数据类型,是在关系数据库中模拟和存储复杂对象所采用的类型机制。在结构化类型中可能嵌入了多个字段,例如,在 DB2 通用数据库中可以模拟和存储几何形状(笛卡尔坐标的列表)或雇员(姓名、地址、性别、生日和员工号)。

结构化类型

已经扩充了结构化类型支持,可以用结构化类型列来创建表。 另外,在结构化类型中可以嵌套结构化类型。 这意味着结构化类型的属性不再仅限于基本 SQL 类型, 它们现在可以是其他结构化类型。

在版本 7 中,可以使用属于结构化类型的输入参数或 RETURNS 子句上的参数来定义函数。 还可以为每种结构化数据类型定义方法, 从而允许用数据来封装行为。所定义的方法与函数极其相似,但是其使用却与结构化类型紧密相关。 它实质上是一个将结构化类型实例作为其第一个隐式自变量的例程。

可以对具有结构化类型列的表使用“重组表”(REORG) 和 db2look 实用程序。 有关 REORG 的详情,参见 Command Reference, 有关结构化类型和 db2look 的详情,参见《管理指南》:实现《管理指南》:性能

变换功能

变换功能允许将结构化类型列配合用户编写的程序使用。 变换功能将结构化数据类型中的复杂结构转换成其基本 SQL 类型的有序集。 它们还可将基本属性转换回它们的结构化类型。 这些变换是将结构化类型移入和移出数据库所必需的。 有关详情,参见《管理指南》:实现

以 SQL 为主体的函数

任何以 SQL 为主体的函数在其被嵌入调用 SQL(类似宏) 的主体内都包含简单的 SQL 过程语句。 这允许查询编译程序优化整个 SQL 语句,包括以 SQL 为主体的函数在内。 结构化数据类型将以 SQL 为主体的函数用于它们的变换功能(参见变换功能)和方法(参见结构化类型)。

动态复合语句

DB2 版本 7.2 提供动态复合语句(新类型的复合 SQL)以帮助减少数据库管理器开销和提高通过网络处理请求方面的性能。动态复合语句对于涉及控制流逻辑很小但数据流很显著的小型脚本是非常理想的。

在动态复合语句中,可以:

DB2 会将动态复合语句作为单个语句进行编译。参见 DB2 发行说明以获取详情。

触发器和 SQL 函数中的变量和控制流

DB2 版本 7.2 允许您通过若干 SQL 控制的语句在存储过程、 触发器和 SQL 函数中执行过程逻辑。

在版本 7.2 之前,触发器只提供简单的排序:没有任何条件逻辑或循环。触发器的此增强功能允许您将应用程序更容易地迁移至 DB2。您还可利用 SQL 函数(如 SCALAR、TABLE 或 ROW)的增强功能。例如,可将 SQL 表函数与“数据仓库中心”或 SQL 标量函数中的控制逻辑配合使用, 以将其他数据库管理系统映射至 DB2。

版本 7.2 允许在触发器和 SQL 函数中使用下列控制语句:

这些控制语句被集成到 DB2 查询编译器中。有关 SQL 控制语句和变量的详情, 参见SQL Reference。有关此版本 7.2 增强功能的详情, 参见 DB2 发行说明

类型表

现在您可以将参考完整性约束和触发器配合类型表来使用。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]