7.1 APEX_COLLECTION APIについて

各コレクションには、データ要素(メンバー)の名前付きリストが含まれます。このリストには、最大50個の文字属性(VARCHAR2(4000))、5個の数値属性、5個の日付属性、1個のXMLタイプ属性、1個のラージ・バイナリ属性(BLOB)および1個のラージ・キャラクタ属性(CLOB)を含めることができます。コレクション情報は、PL/SQL API APEX_COLLECTIONを使用して挿入、更新および削除します。

次に、コレクションを使用する場合の例を示します。

  • データ入力ウィザードを作成しており、そのウィザードで、まず論理トランザクション中に複数行の情報を収集する必要がある場合。物理トランザクションと論理トランザクションの両方の完了時、ウィザードの最終ステップを実行する前に、コレクションを使用して、複数行の情報のコンテンツを一時的に格納できます。

  • アプリケーションに、ユーザーが1つのページで複数の詳細行を更新する更新ページが含まれている場合。ユーザーは、複数の更新を行い、それらの更新をコレクションに適用した後、最終プロセスをコールしてそれらの変更をデータベースに適用できます。

  • 任意の数の属性を収集するウィザードを構築している場合。コレクションに一時的に格納された情報が取得され、データベースに適用されるタスクをウィザードの最後にユーザーが実行するようにします。

Oracle Database 12cから、データ型VARCHAR2のデータベース列は32,767バイトまで定義できます。これには、データベース初期化パラメータMAX_STRING_SIZEEXTENDEDの値があることが必要です。Application ExpressがOracle Database 12cにインストールされ、MAX_STRING_SIZE = EXTENDEDの場合、Application Expressコレクションの表は、コレクションの文字属性について32,767バイトまでサポートするように定義されます。APEX_COLLECTION APIのメソッドでは、文字属性へのすべての参照(c001からc050)は32,767バイトまでサポート可能です。