VARRAY コレクション・タイプの宣言 (PL/SQL)

VARRAY はコレクションの一種で、この中の各エレメントは、添字 という正整数によって参照されます。 VARRAY の最大カーディナリティーは、タイプ定義で指定されます。

TYPE IS VARRAY ステートメントを使用して、VARRAY コレクション・タイプを定義します。

構文

構文図を読む構文図をスキップするTYPEvarraytypeIS VARRAY(n) OFdatatype;

説明

varraytype
配列型に割り当てる ID。
n
配列型のエレメントの最大数。
datatype
サポートされるデータ・タイプ (NUMBER、VARCHAR2、RECORD、VARRAY、または連想配列タイプなど)。 %TYPE 属性および %ROWTYPE 属性もサポートされます。

以下の例では、EMP 表から従業員名を読み取り、タイプ VARRAY の配列変数にそれらの名前を格納してから、結果を表示します。 EMP 表には、ENAME という名前の 1 つの列が含まれます。 このコードは スクリプト (script.db2) から実行します。スクリプトには、以下のコードが含まれます。
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