プライマリ・コンテンツに移動
Oracle® Call Interfaceプログラマーズ・ガイド
12c リリース1 (12.1)
B72465-07
目次へ移動
目次
索引へ移動
索引

前
次

OCI任意データ・セット・インタフェース関数

OCIの任意データ・セット・インタフェース関数をリストし、説明します。

表21-7は、この項で説明している任意データ・セット・インタフェース関数を示しています。

表21-7 任意データ・セット関数

関数 用途

OCIAnyDataSetAddInstance()

新規のスケルトン・インスタンスをOCIAnyDataSetに追加し、そのインスタンスのすべての属性をNULLに設定します。

OCIAnyDataSetBeginCreate()

指定の継続時間に対してOCIAnyDataSetを割り当て、型情報を使用して初期化します。

OCIAnyDataSetDestroy()

OCIAnyDataSetを解放します

OCIAnyDataSetEndCreate()

OCIAnyDataSet作成の終わりをマークします。

OCIAnyDataSetGetCount()

OCIAnyDataSetのインスタンス数を取得します。

OCIAnyDataSetGetInstance()

現行の位置にあるインスタンスに対応するOCIAnyDataを戻し、現行の位置を更新します。

OCIAnyDataSetGetType()

OCIAnyDataSetに対応する型を取得します。

OCIAnyDataSetAddInstance()

用途

新規のスケルトン・インスタンスをOCIAnyDataSetに追加し、そのインスタンスのすべての属性をNULLに設定します。

構文

sword OCIAnyDataSetAddInstance ( OCISvcCtx      *svchp, 
                                 OCIError       *errhp, 
                                 OCIAnyDataSet  *data_set, 
                                 OCIAnyData     **data );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN/OUT)

新規インスタンスを追加するOCIAnyDataSetです。

data (IN/OUT)

新規に追加するインスタンスに対応するOCIAnyDataです。(*data)NULLの場合、新規のOCIAnyDataOCIAnyDataSetと同じ継続時間の間割り当てられます。(*data)NULL以外の場合は再使用されます。このOCIAnyDataは、後でOCIAnyDataConvert()コールを使用して構成したり、OCIAnyDataAttrSet()コールまたはOCIAnyDataCollAddElem()コールを使用してピース単位で構成することができます。

コメント

このコールは、このスケルトン・インスタンスをOCIAnyDataパラメータを介して戻します。このインスタンスは、後でOCIAnyData APIを呼び出して構成できます。

注意:

古い値は破棄されません。一連のコールを開始する前に、(*data)が指し示す古い値を破棄し、(*data)をNULLポインタに設定する必要があります。戻されたOCIAnyDataでは、(OCIType情報またはデータ部分の)ディープ・コピーは行われません。このOCIAnyDataは、OCIAnyDataSetの割当て時間を超えて使用することはできません(OCIAnyDataSetへの参照と同様です)。戻されたOCIAnyDataをこの関数に対する後続のコールで再使用すると、新規のデータ・インスタンスをOCIAnyDataSetに後で追加できます。

OCIAnyDataSetBeginCreate()

用途

指定の継続時間に対してOCIAnyDataSetを割り当て、型情報を使用して初期化します。OCIAnyDataSetは、指定の型のインスタンスを複数保持できます。

構文

sword OCIAnyDataSetBeginCreate ( OCISvcCtx      *svchp, 
                                 OCIError       *errhp, 
                                 OCITypeCode    typecode, 
                                 const OCIType  *type, 
                                 OCIDuration    dur, 
                                 OCIAnyDataSet  **data_set );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

typecode (IN)

OCIAnyDataSetに対応する型コードです。

type (IN)

OCIAnyDataSetに対応する型です。型コードが組込みの型(OCI_TYPECODE_NUMBERなど)に対応している場合、このパラメータはNULLにできます。また、ユーザー定義型(OCI_TYPECODE_OBJECTOCI_TYPECODE_REF、コレクション型など)の場合は、NULL以外になります。

dur (IN)

OCIAnyDataSetが割り当てられる継続時間です。次のいずれかです。

  • 以前に作成されたユーザー期間。これは、OCIDurationBegin()を使用して作成できます。

  • OCI_DURATION_SESSIONなどの事前定義の期間。

data_set (OUT)

初期化済のOCIAnyDataSetです。

コメント

パフォーマンス向上のために、OCIAnyDataSetは最終的に、渡されたOCITypeパラメータを指し示します。OCITypeの継続時間が延長されていることを確認する必要があります(OCITypeが一時パラメータの場合は割当て時間 >= OCIAnyDataの継続時間、OCITypeが永続パラメータの場合は割当てまたは確保継続時間 >= OCIAnyDataの継続時間)。

OCIAnyDataSetDestroy()

用途

OCIAnyDataSetを解放します。

構文

sword OCIAnyDataSetDestroy ( OCISvcCtx      *svchp, 
                             OCIError       *errhp, 
                             OCIAnyDataSet  *data_set );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN/OUT)

解放されるOCIAnyDataSetです。

OCIAnyDataSetEndCreate()

用途

OCIAnyDataSet作成の終わりをマークします。この関数は、すべてのインスタンスを構成した後にコールしてください。

構文

sword OCIAnyDataSetEndCreate ( OCISvcCtx      *svchp, 
                               OCIError       *errhp, 
                               OCIAnyDataSet  *data_set );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN/OUT)

初期化済のOCIAnyDataSetです。

OCIAnyDataSetGetCount()

用途

OCIAnyDataSetのインスタンス数を取得します。

構文

sword OCIAnyDataSetGetCount( OCISvcCtx      *svchp, 
                             OCIError       *errhp, 
                             OCIAnyDataSet  *data_set, 
                             ub4            *count );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN/OUT)

正しい形式のOCIAnyDataSetです。

count (OUT)

OCIAnyDataSet内のインスタンス数です。

OCIAnyDataSetGetInstance()

用途

現行の位置にあるインスタンスに対応するOCIAnyDataを戻し、現行の位置を更新します。

構文

sword OCIAnyDataSetGetInstance ( OCISvcCtx      *svchp, 
                                 OCIError       *errhp, 
                                 OCIAnyDataSet  *data_set, 
                                 OCIAnyData     **data );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN/OUT)

正しい形式のOCIAnyDataSetです。

data (IN/OUT)

インスタンスに対応するOCIAnyDataです。(*data)がNULLの場合、新規のOCIAnyDataOCIAnyDataSetと同じ継続時間の間割り当てられます。(*data)がNULL以外の場合は再使用されます。

コメント

OCIAnyDataSet内のインスタンスには、順次アクセスのみ可能です。このコールは、現行の位置にあるインスタンスに対応するOCIAnyDataを戻し、現行の位置を更新します。後で、OCIAnyDataアクセス・ルーチンを使用して、インスタンスにアクセスできます。

OCIAnyDataSetGetType()

用途

OCIAnyDataSetに対応する型を取得します。

構文

sword OCIAnyDataSetGetType ( OCISvcCtx      *svchp, 
                             OCIError       *errhp, 
                             OCIAnyDataSet  *data_set, 
                             OCITypeCode    *tc,
                             OCIType        **type );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data_set (IN)

初期化済のOCIAnyDataSetです。

tc (OUT)

OCIAnyDataSetの型に対応する型コードです。

type (OUT)

OCIAnyDataSetに対応する型です。OCIAnyDataが組込みの型に対応している場合は、NULLになります。