12.50 UPDATE_MEMBERプロシージャ

このプロシージャを使用して、特定の名前付きコレクション内の指定したメンバーを更新します。

指定した名前のコレクションが、同じセッションのカレント・ユーザー用およびカレント・アプリケーションID用として存在しないと、アプリケーション・エラーが発生します。順序番号p_seqで指定したメンバーが存在しないと、アプリケーション・エラーが発生します。

ノート:

このプロシージャを使用すると、識別された列が設定され、識別されない列は無効化されます。他の列の値に影響を及ぼすことなく、特定の列を更新するには、UPDATE_MEMBER_ATTRIBUTEプロシージャのシグネチャ1を使用します。

構文

APEX_COLLECTION.UPDATE_MEMBER (
    p_collection_name   IN VARCHAR2,
    p_seq               IN VARCHAR2 DEFAULT NULL,
    p_c001              IN VARCHAR2 DEFAULT NULL,
    p_c002              IN VARCHAR2 DEFAULT NULL,
    p_c003              IN VARCHAR2 DEFAULT NULL,
    …
    p_c050              IN VARCHAR  DEFAULT NULL,
    p_n001              IN NUMBER   DEFAULT NULL,
    p_n002              IN NUMBER   DEFAULT NULL,
    p_n003              IN NUMBER   DEFAULT NULL,
    p_n004              IN NUMBER   DEFAULT NULL,
    p_n005              IN NUMBER   DEFAULT NULL,
    p_d001              IN DATE     DEFAULT NULL,
    p_d002              IN DATE     DEFAULT NULL,
    p_d003              IN DATE     DEFAULT NULL,
    p_d004              IN DATE     DEFAULT NULL,
    p_d005              IN DATE     DEFAULT NULL,   
    p_clob001           IN CLOB     DEFAULT empty_clob(),
    p_blob001           IN BLOB     DEFAULT empty-blob(),
    p_xmltype001        IN XMLTYPE  DEFAULT NULL );

パラメータ

ノート:

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

表12-26 UPDATE_MEMBERのパラメータ

パラメータ 説明
p_collection_name 更新するコレクションの名前。最大長は255バイトです。コレクション名は大/小文字が区別されず、大文字に変換されます。
p_c001からp_c050 追加するメンバーの属性値。最大長は4,000バイトです。4,000文字を超える文字属性は、4,000文字に切り捨てられます。
p_n001からp_n005 追加または更新する数値属性の属性値。
p_d001からp_d005 追加または更新する日付属性の属性値。
p_clob001 4,000文字を超えるコレクション・メンバー属性には、p_clob001を使用します。
p_blob001 バイナリ・コレクション・メンバー属性には、p_blob001を使用します。
p_xmltype001 整形式XMLを格納するには、p_xmltype001を使用します。

Departmentsというコレクションの2番目のメンバーを更新します。1つ目のメンバー属性をEngineeringに、2つ目のメンバー属性をSalesに更新します。

BEGIN
    APEX_COLLECTION.UPDATE_MEMBER (
        p_collection_name => 'Departments',
        p_seq => '2',
        p_c001 => 'Engineering',
        p_c002 => 'Sales');
END;