このプロシージャを使用して、指定した問合せからコレクションを作成します。問合せはアプリケーション所有者として解析されます。このメソッドは、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');
パラメータ
表5-9 CREATE_COLLECTION_FROM_QUERYプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
コレクションの名前。最大長は255文字です。このコレクションが、カレント・ユーザーの指定された名前で、同じセッションに存在すると、エラーが戻されます。 |
|
コレクションのメンバーを移入するために実行する問合せ。p_queryが数値である場合、これはDBMS_SQLカーソルとみなされます。 |
|
有効な値には |
例
次の例は、CREATE_COLLECTION_FROM_QUERY
プロシージャを使用して、AUTO
というコレクションを作成し、そこにAUTOS
表のデータを移入する方法を示しています。p_generate_md5
がYES
であるため、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;