7.51 UPDATE_MEMBERSプロシージャ

このプロシージャを使用して、特定の名前付きコレクションのメンバーの配列を更新します。指定した名前のコレクションが、同じセッションのカレント・ユーザー用およびカレント・アプリケーションID用として存在しないと、アプリケーション・エラーが発生します。p_seq PL/SQL表内の要素数は、すべてのPL/SQL表内のアイテムの合計数として使用されます。つまり、p_seq.count = 2かつp_c001.count = 10である場合は、2つのメンバーのみがupdaapex_application_globaltedです。p_seqがnullであると、アプリケーション・エラーが発生します。順序番号p_seqで指定したメンバーが存在しないと、アプリケーション・エラーが発生します。

構文

APEX_COLLECTION.UPDATE_MEMBERS (
    p_collection_name IN VARCHAR2,
    p_seq  IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
    p_c001 IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
    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)

パラメータ

注意:

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

表7-27 UPDATE_MEMBERSのパラメータ

パラメータ 説明

p_collection_name

更新するコレクションの名前。最大長は255バイトです。コレクション名は大/小文字が区別されず、大文字に変換されます。

p_seq

更新するメンバー順序番号の配列。p_seq配列のカウントは、すべての配列で使用されます。

p_c001からp_c050

更新する属性値の配列。

p_n001からp_n005

数値の属性値

p_d001からp_d005

更新する日付属性値の配列。

DECLARE
    l_seq   apex_application_global.vc_arr2;
    l_carr  apex_application_global.vc_arr2;
    l_narr  apex_application_global.n_arr;
    l_darr  apex_application_global.d_arr;
BEGIN
    l_seq(1)  := 10;
    l_seq(2)  := 15;
    l_carr(1) := 'Apples';
    l_carr(2) := 'Grapes';
    l_narr(1) := 100;
    l_narr(2) := 150;
    l_darr(1) := sysdate;
    l_darr(2) := sysdate;
 
    APEX_COLLECTION.UPDATE_MEMBERS (
        p_collection_name => 'Groceries',
        p_seq  => l_seq,
        p_c001 => l_carr,
        p_n001 => l_narr,
        p_d001 => l_darr);
END;