ヘッダーをスキップ
Oracle® Call Interfaceプログラマーズ・ガイド
11g リリース2 (11.2)
E50264-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OCI表関数

表19-17は、この項で説明しているOCI表関数を示しています。

表19-17 表関数

関数 用途

「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)

要素を削除する表です。

コメント

この関数は、指定した索引の要素がすでに削除されている場合、または指定した索引が表に対して無効の場合は、エラーを戻します。


注意:

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

戻り値

入力パラメータがNULLである場合はエラーも戻されます。

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である場合はエラーを戻します。

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()」を参照してください。

戻り値

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

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)

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

戻り値

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

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を戻します。


関連項目:

表内のデータのない空き(削除された要素)の存在に関する情報は、「OCITableSize()」の説明を参照してください。

関連関数

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を戻します。


関連項目:

表内のデータのない空き(削除された要素)の存在に関する情報は、「OCITableSize()」の説明を参照してください。

関連関数

OCIErrorGet()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()を使用します。

例19-4 は、ネストした表から要素を削除するコード・フラグメントを示しています。

例19-4 ネストした表からの要素の削除

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

例19-5に示すように、削除された要素を含めたカウントを取得するには、OCICollSize()を使用します。例19-4を続けます。

例19-5 ネストした表から削除された要素を含めたすべての要素のカウントの取得

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

戻り値

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

関連関数

OCIErrorGet()OCICollSize()