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

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

前 | 次 |

# 5.3 コレクションの作成

各コレクションには、データ要素(メンバー)の名前付きリストが含まれます。このリストには、最大50個の文字属性(`VARCHAR2(4000)`)、5個の数値属性、1個のXMLタイプ属性、1個のラージ・バイナリ属性(`BLOB`)および1個のラージ・キャラクタ属性(`CLOB`)を含めることができます。次のメソッドを使用してコレクションを作成します。

- `CREATE_COLLECTION`

  このメソッドは、指定された名前で空のコレクションを作成します。名前付きコレクションが存在すると、例外が発生します。

- `CREATE_OR_TRUNCATE_COLLECTION`

  このメソッドは、指定された名前付きコレクションが存在しないと、指定された名前で空のコレクションを作成します。名前付きコレクションが存在すると、このメソッドによって切り捨てられます。コレクションは切り捨てられることによって空になりますが、そのまま残ります。

- `CREATE_COLLECTION_FROM_QUERY`

  このメソッドは、コレクションを作成してから、指定された問合せの結果を移入します。名前付きコレクションが存在すると、例外が発生します。このメソッドは、`SELECT`句に最大50個の列を指定した問合せで使用できます。`SELECT`句内のこれらの列は、コレクションの50個の文字属性(C001からC050)に移入されます。

- `CREATE_COLLECTION_FOM_QUERY2`

  このメソッドは、コレクションを作成してから、指定された問合せの結果を移入します。名前付きコレクションが存在すると、例外が発生します。このメソッドは、`CREATE_COLLECTION_FROM_QUERY`と同じですが、`SELECT`句の最初の5列は数値である必要があります。数値データ型の列に続いて、最大50個の文字データ型の列を`SELECT`に指定できます。

- `CREATE_COLLECTION_FROM_QUERY_B`

  このメソッドでは、バルクSQL操作を実行することにより、`CREATE_COLLECTION_FROM_QUERY`メソッドよりも非常に速いパフォーマンスが提供されますが、次の制限があります。

  - 問合せの選択リスト内の列値は、2,000バイトを超えることはできません。列値が2,000バイトを超える行がある場合は、実行中にエラーが発生します。

  - コレクション内のいずれのメンバーに対してもMD5チェックサムは計算されません。

- `CREATE_COLLECTION_FROM_QUERYB2`

  このメソッドも、コレクションを作成してから、指定された問合せの結果を移入します。名前付きコレクションが存在すると、例外が発生します。このメソッドは、`CREATE_COLLECTION_FROM_QUERY_B`と同じですが、`SELECT`句の最初の5列は数値である必要があります。数値データ型の列に続いて、最大50個の文字データ型の列を`SELECT`に指定できます。

参照:

- 「CREATE_COLLECTIONプロシージャ」

- CREATE_OR_TRUNCATE_COLLECTIONプロシージャ

- 「CREATE_COLLECTION_FROM_QUERYプロシージャ」

- 「CREATE_COLLECTION_FROM_QUERY2プロシージャ」

- 「CREATE_COLLECTION_FROM_QUERY_Bプロシージャ」

- 「CREATE_COLLECTION_FROM_QUERYB2プロシージャ」