VARRAY 集合类型声明 (PL/SQL)

VARRAY 是一种集合类型,在此集合中,每个元素都由称为数组下标的正整数引用。 VARRAY 的最大基数在类型定义中指定。

TYPE IS VARRAY 语句用于定义 VARRAY 集合类型。

语法

Read syntax diagramSkip visual syntax diagramTYPEvarraytypeIS VARRAY(n) OFdatatype;

描述

varraytype
对此数组类型指定的标识。
n
此数组类型中的最大元素数目。
数据类型
受支持的数据类型,例如 NUMBER、VARCHAR2、RECORD、VARRAY 或关联数组类型。 另外,还支持 %TYPE 属性和 %ROWTYPE 属性。

示例

以下示例从 EMP 表中读取职员姓名,将姓名存储在类型为 VARRAY 的数组变量中,然后显示结果。 EMP 表包含一个名为 ENAME 的列。 代码从 Db2® 脚本 (script.db2) 执行。 在执行脚本 (db2 -tvf script.db2) 之前,应该从 Db2 命令窗口发出以下命令:
db2set DB2_COMPATIBILITY_VECTOR=FFF
db2stop
db2start
此脚本包含以下代码:
SET SQLCOMPAT PLSQL;

connect to mydb
/

CREATE PACKAGE foo
AS
    TYPE emp_arr_typ IS VARRAY(5) OF VARCHAR2(10);
END;
/

SET SERVEROUTPUT ON
/

DECLARE
    emp_arr         foo.emp_arr_typ;
    CURSOR emp_cur IS SELECT ename FROM emp WHERE ROWNUM <= 5;
    i               INTEGER := 0;
BEGIN
    FOR r_emp IN emp_cur LOOP
        i := i + 1;
        emp_arr(i) := r_emp.ename;
    END LOOP;
    FOR j IN 1..5 LOOP
        DBMS_OUTPUT.PUT_LINE(emp_arr(j));
    END LOOP;
END;
/

DROP PACKAGE foo
/

connect reset
/
此脚本生成以下样本输出:
Curly
Larry
Moe
Shemp
Joe