15.9 CREATE_COLLECTION_FROM_QUERYプロシージャ

指定された問合せからコレクションを作成します。問合せはアプリケーション所有者として解析されます。

このメソッドは、SELECT句に最大50個の列を指定した問合せで使用できます。SELECT句内のこれらの列は、コレクションの50個の文字属性(C001からC050)に移入されます。

同じ名前のコレクションが、カレント・アプリケーションIDの同じセッション内にカレント・ユーザー用として存在すると、アプリケーション・エラーが発生します。

構文

APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY (
    p_collection_name       IN VARCHAR2,
    p_query                 IN VARCHAR2,
    p_generate_md5          IN VARCHAR2 DEFAULT 'NO',
    p_truncate_if_exists    IN VARCHAR2 DEFAULT 'NO' )

パラメータ

パラメータ 説明
p_collection_name コレクションの名前。最大長は255文字です。このコレクションが、カレント・ユーザーの指定された名前で、同じセッションに存在すると、エラーが戻されます。
p_query コレクションのメンバーを移入するために実行する問合せ。
p_generate_md5 有効な値にはYESNOが含まれます。YESの場合、コレクション・メンバーのデータのメッセージ・ダイジェストが計算されます。このパラメータは、コレクション・メンバーのMD5を別のメンバーと比較する場合か、そのメンバーが変更されたかどうかを確認する場合に使用します。
p_truncate_if_exists YESの場合、コレクションが存在していればコレクションのメンバーがまず切り捨てられ、エラーは発生しません。NOの場合(YESでない場合)、コレクションが存在していれば、エラーが発生します。

次の例では、AUTOという名前のコレクションを作成し、AUTOS表のデータを移入します。p_generate_md5YESであるため、MD5チェックサムが計算され、変更ステータスを判別するための比較が行われます。

BEGIN
    l_query := 'select make, model, year from AUTOS';
    APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY (
        p_collection_name => 'AUTO', 
        p_query => l_query,
        p_generate_md5 => 'YES');
END;