CREATE TYPE (VARRAY) 语句 (PL/SQL)
CREATE TYPE (VARRAY) 语句用于定义 VARRAY 数据类型。
调用
可以从 Db2® 命令行处理器 (CLP)、任何受支持的交互式 SQL 界面、应用程序或例程中执行此语句。
权限
此语句的授权标识所拥有的特权必须至少包括下列其中一项:
- 如果 VARRAY 类型的模式名不存在:对数据库的 IMPLICIT_SCHEMA 权限
- 如果 VARRAY 类型的模式名引用现有的模式:对该模式的 CREATEIN 特权
- DBADM 权限
语法
描述
- 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