CREATE TYPE (VARRAY) 语句 (PL/SQL)

CREATE TYPE (VARRAY) 语句用于定义 VARRAY 数据类型。

调用

可以从 Db2® 命令行处理器 (CLP)、任何受支持的交互式 SQL 界面、应用程序或例程中执行此语句。

权限

此语句的授权标识所拥有的特权必须至少包括下列其中一项:
  • 如果 VARRAY 类型的模式名不存在:对数据库的 IMPLICIT_SCHEMA 权限
  • 如果 VARRAY 类型的模式名引用现有的模式:对该模式的 CREATEIN 特权
  • DBADM 权限

语法

阅读语法图跳过直观语法图CREATEOR REPLACE TYPEvarraytypeISASVARRAY(n) OFdatatype

描述

OR REPLACE
指示当模式中已存在同名的用户定义数据类型时,新数据类型将替换现有数据类型。如果未指定此选项,那么新数据类型无法替换同一模式中现有的同名数据类型。
VARRAY 类型
指定 VARRAY 类型的标识。VARRAY 类型 的未限定格式是最大长度为 128 的 SQL 标识。使用 CURRENT SCHEMA 专用寄存器的值对未限定的对象名进行限定。VARRAY 类型 的限定格式是后面跟着句点字符和 SQL 标识的模式名。如果指定了两部分的名称,那么模式名不能以“SYS”开头;否则,将返回错误 (SQLSTATE 42939)。名称(包括隐式或显式的限定符)不能标识已在目录中描述的用户定义数据类型 (SQLSTATE 42723)。未限定的名称在其模式中唯一,但不必跨模式唯一。
n
指定此数组类型中的最大元素数目。给定系统上数组的最大基数由可供 Db2 应用程序使用的内存总量限制。因此,虽然可以创建大基数(最高可达 2,147,483,647)数组,但并非所有元素都可用。
datatype
受支持的数据类型,例如 NUMBER、VARCHAR2、RECORD、VARRAY 或关联数组类型。另外,还支持 %TYPE 属性和 %ROWTYPE 属性。

示例

以下示例创建最多包含 10 个元素的 VARRAY 数据类型,其中,每个元素的数据类型均为 NUMBER:
CREATE TYPE NUMARRAY1 AS VARRAY (10) OF NUMBER