15.4 ADD_MEMBERSプロシージャ

コレクションにメンバーの配列を追加します。指定されたコレクションが、カレント・アプリケーションIDの同じセッション内にカレント・ユーザー用として存在しない場合にエラーが発生します。

新しいメンバーの追加では、欠落したものは使用されないため、メンバーの順序番号が1,2,5,8である既存のコレクションの場合、新しいメンバーは順序番号9として追加されます。

p_c001 PL/SQL表内の要素数は、すべてのPL/SQL表内のアイテムの合計数として使用されます。たとえば、p_c001.countが2で、p_c002.countが10の場合、2つのメンバーのみが追加されます。p_c001がNULLの場合は、アプリケーション・エラーが発生します。

構文

APEX_COLLECTION.ADD_MEMBERS (
  p_collection_name IN VARCHAR2,
  p_c001            IN apex_application_global.vc_arr2,
  p_c002            IN apex_application_global.vc_arr2  DEFAULT empty_vc_arr,
  p_c003            IN apex_application_global.vc_arr2  DEFAULT empty_vc_arr,
  ...
  p_c050            IN apex_application_global.vc_arr2  DEFAULT empty_vc_arr,
  p_n001            IN apex_application_global.n_arr    DEFAULT empty_n_arr,
  p_n002            IN apex_application_global.n_arr    DEFAULT empty_n_arr,
  p_n003            IN apex_application_global.n_arr    DEFAULT empty_n_arr,
  p_n004            IN apex_application_global.n_arr    DEFAULT empty_n_arr,
  p_n005            IN apex_application_global.n_arr    DEFAULT empty_n_arr,
  p_d001            IN apex_application_global.d_arr    DEFAULT empty_d_arr,
  p_d002            IN apex_application_global.d_arr    DEFAULT empty_d_arr,
  p_d003            IN apex_application_global.d_arr    DEFAULT empty_d_arr,
  p_d004            IN apex_application_global.d_arr    DEFAULT empty_d_arr,
  p_d005            IN apex_application_global.d_arr    DEFAULT empty_d_arr,
  p_generate_md5    IN VARCHAR2                         DEFAULT 'NO' )

パラメータ

ノート:

4,000文字を超える文字属性は、4,000文字に切り捨てられます。追加されるメンバーの数は、1つ目の配列の要素数に基づきます。

パラメータ 説明
p_collection_name 既存のコレクションの名前。最大長は255バイトです。コレクション名は大/小文字が区別されず、大文字に変換されます。
p_c001からp_c050 追加する文字属性値の配列。
p_n001からp_n005 追加する数値属性値の配列。
p_d001からp_d005 追加する日付属性値の配列。
p_generate_md5 有効な値にはYESNOが含まれます。YESの場合、コレクション・メンバーのデータのメッセージ・ダイジェストが計算されます。このパラメータは、コレクション・メンバーのMD5を別のメンバーと比較する場合か、そのメンバーが変更されたかどうかを確認する場合に使用します。

次の例では、2つの新しいメンバーをEMPLOYEE表に追加します。

BEGIN
    APEX_COLLECTION.ADD_MEMBERS(
        p_collection_name => 'EMPLOYEE',
        p_c001 => l_arr1,
        p_c002 => 1_arr2);
END;