PL/SQL では、VARRAY (可変サイズ配列) は、固定数の要素を格納できるコレクションのタイプです。 VARRAY 内の各要素は順次に格納され、すべての要素は同じデータ型です。
VARRAY の特徴:
固定最大サイズ: VARRAY を定義するときは、VARRAY が保持できる要素の最大数を指定します。この制限を超えることはできません。
シーケンシャル: VARRAY 内の要素は、インデックス 1 から始まる特定の順序で格納され、アクセスされます。
同種: VARRAY 内のすべての要素は同じデータ型である必要があります。
高密度のインデックス: VARRAY は常に高密度に設定されます。これは、インデックス間にギャップがないことを意味します。
Oracle データベースに格納: データベース列で使用される場合、VARRAY はテーブルの行データとともにインラインで格納されます。
PL/SQL の VARRAY の構文
最初に VARRAY 型を定義し、保持できる要素の数と要素のデータ型を指定します。
TYPE varray_name は element_type の VARRAY(max_size) です;
varray_name: VARRAY 型の名前。
max_size: VARRAY に格納できる要素の最大数。
element_type: VARRAY に格納される要素のデータ型。
VARRAY 型を宣言したら、その型の変数を宣言し、値で初期化できます。
宣言
TYPE 従業員_varray は VARRAY(5) OF VARCHAR2(30); -- 最大サイズ 5
の VARRAY 型宣言
従業員名 従業員_varray := 従業員_varray('ジョン', 'ジェーン'); -- 2 つの要素で初期化します
始めてください
-- VARRAY
を使用するステートメント
終了;
VARRAY の操作:
VARRAY に対して実行できる一般的な操作をいくつか示します。
EXTEND(n): VARRAY の末尾に n 個の要素を追加します。
COUNT: VARRAY 内の現在の要素数を返します。
TRIM(n): VARRAY の末尾から n 個の要素を削除します。
FIRST と LAST: VARRAY 内の最初と最後のインデックスを返します。
例: VARRAY の宣言と使用
宣言
-- VARCHAR2(50)
の要素を最大 5 つ保持できる VARRAY 型を宣言します。
TYPE 従業員_varray は VARRAY(5) OF VARCHAR2(50);
-- Declare a variable of this VARRAY type and initialize it with two values employee_names employee_varray := employee_varray('John', 'Jane');
開始
-- VARRAY
に要素を追加します。
従業員名.EXTEND(3); -- 配列をさらに 3 要素拡張します
従業員名(3) := 'サム';
従業員名(4) := 'ピーター';
従業員名(5) := 'ルーシー';
-- Print all the names in the VARRAY FOR i IN 1..employee_names.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Employee ' || i || ': ' || employee_names(i)); END LOOP; -- Trim 1 element from the end of the VARRAY employee_names.TRIM(1); DBMS_OUTPUT.PUT_LINE('After trimming 1 element:'); -- Print remaining names in the VARRAY FOR i IN 1..employee_names.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Employee ' || i || ': ' || employee_names(i)); END LOOP;
終了;
/
説明:
VARRAY 型宣言: VARCHAR2(50) 型の要素を最大 5 つ保持できる VARRAY 型employee_varray を宣言します。
初期化:employee_names 変数を 2 つの名前「John」と「Jane」で初期化します。
EXTEND: EXTEND(3) メソッドを使用して VARRAY を拡張し、さらに 3 つの要素を保持し、合計 5 つの要素のためのスペースを確保します。
要素へのアクセス: 新しい位置 (3 ~ 5) に値を割り当て、ループを使用してすべての要素を出力します。
TRIM: TRIM(1) メソッドは、VARRAY から最後の要素を削除し、要素の数を 5 から 4 に減らすために使用されます。
出力:
従業員 1: ジョン
従業員 2: ジェーン
従業員 3: サム
従業員 4: ピーター
従業員 5: ルーシー
1 つの要素をトリミングした後:
従業員 1: ジョン
従業員 2: ジェーン
従業員 3: サム
従業員 4: ピーター
キーポイント:
VARRAY は、コレクションの最大サイズが事前にわかっている場合に便利です。
順次アクセス: VARRAY 内の要素は、インデックスを使用してアクセスされます。
拡張とトリミング: EXTEND と TRIM を使用して、VARRAY に要素を動的に追加または削除できます。
以上がVARRAY (可変サイズ配列) - PLSQL のコレクションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。