プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 5.31 CREATE_COLLECTION_FROM_QUERY2プロシージャ

このプロシージャを使用して、指定した問合せからコレクションを作成します。このメソッドは`CREATE_COLLECTION_FROM_QUERY`と同じですが、`SELECT`句の最初の5列は数値である必要があり、次の5列は日付である必要があります。数値データ型および日付データ型の列に続いて、最大50個の文字データ型の列を`SELECT`句に指定できます。問合せはアプリケーション所有者として解析されます。同じ名前のコレクションが、カレント・アプリケーションIDの同じセッション内にカレント・ユーザー用として存在すると、アプリケーション・エラーが発生します。

構文

    APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY2 (
        p_collection_name IN VARCHAR2,
        p_query IN VARCHAR2,
        p_generate_md5 IN VARCHAR2 default 'NO');

パラメータ

表5-10 CREATE_COLLECTION_FROM_QUERY2プロシージャのパラメータ

パラメータ | 説明
--- | ---
`p_collection_name` | コレクションの名前。最大長は255文字です。このコレクションが、カレント・ユーザーの指定された名前で、同じセッションに存在すると、エラーが戻されます。
`p_query` | コレクションのメンバーを移入するために実行する問合せ。p_queryが数値である場合、これはDBMS_SQLカーソルとみなされます。
`p_generate_md5` | 有効な値には`YES`と`NO`が含まれます。`YES`の場合、コレクション・メンバーのデータのメッセージ・ダイジェストが計算されます。このパラメータは、コレクション・メンバーのMD5を別のメンバーと比較する場合か、そのメンバーが変更されたかどうかを確認する場合に使用します。

例

次の例は、`CREATE_COLLECTION_FROM_QUERY2`プロシージャを使用して、`EMPLOYEE`というコレクションを作成し、そこに`EMP`表のデータを移入する方法を示しています。最初の5列(mgr、sal、comm、deptnoおよびnull)はすべて数値です。p_generate_md5が`NO`であるため、`MD5`チェックサムは計算されません。

    begin;
        APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY2 (
            p_collection_name => 'EMPLOYEE',
            p_query => 'select empno, sal, comm, deptno, null, hiredate, null, null, null, null, ename, job, mgr from emp',
            p_generate_md5 => 'NO');
    end;

参照:

- 「GET_MEMBER_MD5ファンクション」

- 「CREATE_COLLECTIONプロシージャ」

- CREATE_OR_TRUNCATE_COLLECTIONプロシージャ

- 「CREATE_COLLECTION_FROM_QUERYプロシージャ」

- 「CREATE_COLLECTION_FROM_QUERY_Bプロシージャ」

- 「CREATE_COLLECTION_FROM_QUERYB2プロシージャ」