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

戻る
戻る
 
次へ
次へ
 

OCI表関数

この項では、OCI表関数について説明します。

表19-18 表関数

関数 用途

OCITableDelete()


要素を削除します。

OCITableExists()


要素が存在するかどうかをテストします。

OCITableFirst()


表の先頭の索引を戻します。

OCITableLast()


表の最後の索引を戻します。

OCITableNext()


使用可能な次の表索引を戻します。

OCITablePrev()


使用可能な1つ前の表索引を戻します。

OCITableSize()


表のカレント・サイズを戻します。



OCITableDelete()

用途

指定の索引位置にある要素を削除します。

構文

sword OCITableDelete ( OCIEnv          *env,
                       OCIError        *err,
                       sb4             index,
                       OCITable        *tbl );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

index (IN)

削除する必要のある要素の索引です。

tbl (IN)

要素を削除する表です。

コメント

この関数は、指定した索引の要素がすでに削除されている場合、または指定した索引が表に対して無効の場合は、エラーを戻します。入力パラメータがNULLである場合もエラーになります。


注意:


表の残りの要素の位置序数は、OCITableDelete()で変更されません。この削除操作により、表の中に空きが生成されます。

関連関数

OCIErrorGet()OCITableExists()


OCITableExists()

用途

指定の索引位置に要素が存在するかどうかをテストします。

構文

sword OCITableExists ( OCIEnv              *env,
                       OCIError            *err,
                       const OCITable      *tbl,
                       sb4                 index,
                       boolean             *exists );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

tbl (IN)

指定の索引をチェックする表です。

index (IN)

要素の存在をチェックする索引です。

exists (OUT)

指定するindexに要素が存在する場合はTRUEです。それ以外の場合は、FALSEです。

コメント

この関数は、入力パラメータがNULLである場合はエラーを戻します。

関連関数

OCIErrorGet()OCITableDelete()


OCITableFirst()

用途

指定の表の先頭の既存要素の索引を戻します。

構文

sword OCITableFirst ( OCIEnv             *env,
                      OCIError           *err,
                      const OCITable     *tbl,
                      sb4                *index  );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

tbl (IN)

スキャンする表です。

index (OUT)

指定の表に存在する最初の要素の索引が戻されます。

コメント

たとえば、OCITableDelete()によって表の先頭の5つの要素が削除されている場合、OCITableFirst()は6を戻します。


関連項目:


表内のデータのない空きの存在に関しては、「OCITableDelete()」の説明を参照してください。

この関数は、表が空の場合はエラーを戻します。

関連関数

OCIErrorGet()OCITableDelete()OCITableLast()


OCITableLast()

用途

表の最後の既存要素の索引を戻します。

構文

sword OCITableLast ( OCIEnv              *env,
                     OCIError            *err,
                     const OCITable      *tbl,
                     sb4                 *index );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

tbl (IN)

スキャンする表です。

index (OUT)

表の最後の既存要素の索引です。

コメント

この関数は、表が空の場合はエラーを戻します。

関連関数

OCIErrorGet()OCITableFirst()OCITableNext()OCITablePrev()


OCITableNext()

用途

表の次の既存要素の索引を戻します。

構文

sword OCITableNext ( OCIEnv             *env,
                     OCIError           *err,
                     sb4                index,
                     const OCITable     *tbl,
                     sb4                *next_index
                     boolean            *exists );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

index (IN)

スキャンの開始位置の索引です。

tbl (IN)

スキャンする表です。

next_index (OUT)

tbl(index)の次の既存要素の索引です。

exists (OUT)

次の索引が存在しない場合はFALSEで、存在する場合はTRUEです。

コメント

indexよりも大きく、exists(j)TRUEになるような最小位置jを戻します。


関連項目:


表内のデータのない空きの存在に関しては、「OCIStringAllocSize()」の説明を参照してください。

関連関数

OCIErrorGet()OCITablePrev()


OCITablePrev()

用途

表の直前の既存要素の索引を戻します。

構文

sword OCITablePrev ( OCIEnv             *env,
                     OCIError           *err,
                     sb4                index,
                     const OCITable     *tbl,
                     sb4                *prev_index
                     boolean            *exists );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

index (IN)

スキャンの開始位置の索引です。

tbl (IN)

スキャンする表です。

prev_index (OUT)

tbl(index)の直前の既存要素の索引です。

exists (OUT)

前の索引が存在しない場合はFALSEで、存在する場合はTRUEです。

コメント

indexよりも小さく、exists(j)がTRUEになるような最大位置jを戻します。


関連項目:


表内のデータのない空きの存在に関しては、「OCIStringAllocSize()」の説明を参照してください。

関連関数

OCITableNext()


OCITableSize()

用途

指定の表のサイズを戻します。削除済の要素は含まれません。

構文

sword OCITableSize ( OCIEnv             *env,
                     OCIError           *err,
                     const OCITable     *tbl
                     sb4                *size );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。

err (IN/OUT)

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

tbl (IN)

要素の数を戻す対象のネストした表です。

size (OUT)

ネストした表内の現行の要素数です。削除された要素はカウントに含まれません。

コメント

カウントは、ネストした表から要素を削除すると減分されます。したがって、このカウントには要素の削除によって生成された空きは含まれていません。削除した要素を含まないカウントを取得するには、OCICollSize()を使用します。

たとえば、次のようにします。

OCITableSize(...);
// assume 'size' returned is equal to 5
OCITableDelete(...); // delete one element
OCITableSize(...);
// 'size' returned is equal to 4

削除された要素を含めたカウントを取得するには、OCICollSize()を使用します。前述の例を続けます。

OCICollSize(...)
// 'size' returned is still equal to 5

この関数は、ネストした表のオブジェクト・キャッシュへのロード中にエラーが発生した場合、または入力パラメータがNULLである場合はエラーを戻します。

関連関数

OCICollSize()