OCIの任意データ・セット・インタフェース関数をリストし、説明します。
表21-7は、この項で説明している任意データ・セット・インタフェース関数を示しています。
表21-7 任意データ・セット関数
関数 | 用途 |
---|---|
新規のスケルトン・インスタンスを |
|
指定の継続時間に対して |
|
|
|
|
|
|
|
現行の位置にあるインスタンスに対応する |
|
|
用途
新規のスケルトン・インスタンスをOCIAnyDataSet
に追加し、そのインスタンスのすべての属性をNULL
に設定します。
構文
sword OCIAnyDataSetAddInstance ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set, OCIAnyData **data );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
新規インスタンスを追加するOCIAnyDataSet
です。
新規に追加するインスタンスに対応するOCIAnyData
です。(*data)
がNULL
の場合、新規のOCIAnyData
はOCIAnyDataSet
と同じ継続時間の間割り当てられます。(*data)
がNULL
以外の場合は再使用されます。このOCIAnyData
は、後でOCIAnyDataConvert()コールを使用して構成したり、OCIAnyDataAttrSet()コールまたはOCIAnyDataCollAddElem()コールを使用してピース単位で構成することができます。
コメント
このコールは、このスケルトン・インスタンスをOCIAnyData
パラメータを介して戻します。このインスタンスは、後でOCIAnyData APIを呼び出して構成できます。
注意:
古い値は破棄されません。一連のコールを開始する前に、(*data
)が指し示す古い値を破棄し、(*data
)をNULL
ポインタに設定する必要があります。戻されたOCIAnyData
では、(OCIType
情報またはデータ部分の)ディープ・コピーは行われません。このOCIAnyData
は、OCIAnyDataSet
の割当て時間を超えて使用することはできません(OCIAnyDataSet
への参照と同様です)。戻されたOCIAnyData
をこの関数に対する後続のコールで再使用すると、新規のデータ・インスタンスをOCIAnyDataSet
に後で追加できます。
用途
指定の継続時間に対してOCIAnyDataSet
を割り当て、型情報を使用して初期化します。OCIAnyDataSet
は、指定の型のインスタンスを複数保持できます。
構文
sword OCIAnyDataSetBeginCreate ( OCISvcCtx *svchp, OCIError *errhp, OCITypeCode typecode, const OCIType *type, OCIDuration dur, OCIAnyDataSet **data_set );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
OCIAnyDataSet
に対応する型コードです。
OCIAnyDataSet
に対応する型です。型コードが組込みの型(OCI_TYPECODE_NUMBER
など)に対応している場合、このパラメータはNULL
にできます。また、ユーザー定義型(OCI_TYPECODE_OBJECT
、OCI_TYPECODE_REF
、コレクション型など)の場合は、NULL
以外になります。
OCIAnyDataSet
が割り当てられる継続時間です。次のいずれかです。
コメント
パフォーマンス向上のために、OCIAnyDataSet
は最終的に、渡されたOCIType
パラメータを指し示します。OCIType
の継続時間が延長されていることを確認する必要があります(OCIType
が一時パラメータの場合は割当て時間 >= OCIAnyData
の継続時間、OCIType
が永続パラメータの場合は割当てまたは確保継続時間 >= OCIAnyData
の継続時間)。
用途
OCIAnyDataSet
を解放します。
構文
sword OCIAnyDataSetDestroy ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
解放されるOCIAnyDataSet
です。
用途
OCIAnyDataSet
作成の終わりをマークします。この関数は、すべてのインスタンスを構成した後にコールしてください。
構文
sword OCIAnyDataSetEndCreate ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
初期化済のOCIAnyDataSet
です。
用途
OCIAnyDataSet
のインスタンス数を取得します。
構文
sword OCIAnyDataSetGetCount( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set, ub4 *count );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
正しい形式のOCIAnyDataSet
です。
OCIAnyDataSet
内のインスタンス数です。
用途
現行の位置にあるインスタンスに対応するOCIAnyData
を戻し、現行の位置を更新します。
構文
sword OCIAnyDataSetGetInstance ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set, OCIAnyData **data );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
正しい形式のOCIAnyDataSet
です。
インスタンスに対応するOCIAnyData
です。(*data)がNULL
の場合、新規のOCIAnyData
はOCIAnyDataSet
と同じ継続時間の間割り当てられます。(*data
)がNULL
以外の場合は再使用されます。
コメント
OCIAnyDataSet
内のインスタンスには、順次アクセスのみ可能です。このコールは、現行の位置にあるインスタンスに対応するOCIAnyData
を戻し、現行の位置を更新します。後で、OCIAnyData
アクセス・ルーチンを使用して、インスタンスにアクセスできます。
用途
OCIAnyDataSet
に対応する型を取得します。
構文
sword OCIAnyDataSetGetType ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyDataSet *data_set, OCITypeCode *tc, OCIType **type );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
初期化済のOCIAnyDataSet
です。
OCIAnyDataSet
の型に対応する型コードです。
OCIAnyDataSet
に対応する型です。OCIAnyData
が組込みの型に対応している場合は、NULL
になります。