表19-17は、この項で説明しているOCI表関数を示しています。
表19-17 表関数
関数 | 用途 |
---|---|
|
要素を削除します。 |
|
要素が存在するかどうかをテストします。 |
|
表の先頭の索引を戻します。 |
|
表の最後の索引を戻します。 |
|
使用可能な次の表索引を戻します。 |
|
使用可能な1つ前の表索引を戻します。 |
|
表のカレント・サイズを戻します。 |
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
削除する必要のある要素の索引です。
要素を削除する表です。
構文
sword OCITableExists ( OCIEnv *env, OCIError *err, const OCITable *tbl, sb4 index, boolean *exists );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
指定の索引をチェックする表です。
要素の存在をチェックする索引です。
指定するindex
に要素が存在する場合はTRUE
です。それ以外の場合は、FALSE
です。
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
スキャンする表です。
戻される指定の表に存在する最初の要素の索引です。
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
スキャンする表です。
表の最後の既存要素の索引です。
構文
sword OCITableNext ( OCIEnv *env, OCIError *err, sb4 index, const OCITable *tbl, sb4 *next_index boolean *exists );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
スキャンの開始位置の索引です。
スキャンする表です。
tbl
(index
)の次の既存要素の索引です。
次の索引が存在しない場合はFALSE
で、存在する場合はTRUE
です。
構文
sword OCITablePrev ( OCIEnv *env, OCIError *err, sb4 index, const OCITable *tbl, sb4 *prev_index boolean *exists );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
スキャンの開始位置の索引です。
スキャンする表です。
tbl
(index
)の直前の既存要素の索引です。
前の索引が存在しない場合はFALSE
で、存在する場合はTRUE
です。
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()をコールして診断情報を取得します。
要素の数を戻す対象のネストした表です。
ネストした表内の現行の要素数です。削除された要素はカウントに含まれません。
コメント
カウントは、ネストした表から要素を削除すると減分されます。したがって、このカウントには要素を削除した際に作成された穴は含まれていません。削除済の要素によって生成された空きを含むカウントを取得するには、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を続けます。