VARRAY コレクション・タイプの宣言 (PL/SQL)
VARRAY はコレクションの一種で、この中の各エレメントは、添字 という正整数によって参照されます。 VARRAY の最大カーディナリティーは、タイプ定義で指定されます。
TYPE IS VARRAY ステートメントを使用して、VARRAY コレクション・タイプを定義します。
構文
説明
- 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