ヘッダーをスキップ
Oracle Call Interfaceプログラマーズ・ガイド
11g リリース1(11.1)
E05677-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

この項では、任意データ・セット・インタフェース関数について説明します。

表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が割り当てられる継続時間です。次のいずれかになります。

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になります。