使用 CREATE TYPE 语句创建游标数据类型

创建游标数据类型是创建游标变量的先决条件。游标数据类型通过使用 CREATE TYPE (cursor) 语句创建。

开始之前

要执行此任务,您需要:
  • 执行 CREATE TYPE (cursor) 语句的特权。
  • 如果创建强类型游标数据类型,那么必须预编译行规范或以表、视图或游标中的现有行作为基础。

CREATE TYPE (cursor) 语句定义游标数据类型,该类型可在 SQL PL 中用于声明该游标数据类型的参数和局部变量。如果在 CREATE TYPE (cursor) 语句中指定行类型名称子句,那么会创建强类型游标数据类型。省略行类型名称子句时会创建弱定义游标数据类型。

作为创建弱定义游标数据类型的替代项,可在声明游标变量时使用内置弱定义游标数据类型 CURSOR。
CREATE TYPE weakCursorType AS CURSOR@
如果要创建强类型游标数据类型,那么行数据类型定义必须存在,它将定义可与游标相关联的结果集。可从显式定义的行数据类型、表或视图或者强类型游标来派生行数据类型定义。以下是行类型定义的示例:
CREATE TYPE empRow AS ROW (name varchar(128), ID varchar(8))@
以下是可从中派生行类型定义的表定义的示例:
CREATE TABLE empTable AS ROW (name varchar(128), ID varchar(8))@

关于此任务

要在数据库中定义强类型游标数据类型,必须从任何支持执行 SQL 语句的 Db2® 接口成功执行 CREATE TYPE (CURSOR) 语句。

过程

  1. 创建 CREATE TYPE (CURSOR) 语句:
    1. 指定类型的名称。
    2. 通过执行下列其中一个操作来指定行定义:引用行数据类型的名称、指定该类型应定位至表或视图,或定位至与现有强游标类型相关联的结果集定义。
  2. 从受支持的 Db2 接口执行 CREATE TYPE 语句。

结果

如果 CREATE TYPE 语句成功执行,那么会在数据库中创建游标数据类型。

示例

以下是有关如何创建可与以下结果集相关联的弱类型游标数据类型的示例,该结果集的格式与 empRow 行数据类型相同:
CREATE TYPE cursorType AS empRow CURSOR@
以下是有关如何创建可与以下结果集相关联的游标数据类型的示例,该结果集的格式与表 empTable 相同:
CREATE TYPE cursorType AS ANCHOR ROW OF empTable@

下一步做什么

创建游标数据类型之后,可根据此数据类型声明游标变量。