void
FNC_SetArrayElementsWithMultiValues (ARRAY_HANDLE aryHandle,
bounds_t *arrayInterval,
void *newValues,
long newValuesBufSize,
NullBitVecType *nullBitVec,
long nullBitVecBufSize)
- ARRAY_HANDLE aryHandle
- UDFまたはUDMの戻り値であると定義されているか、または外部ストアド プロシージャに対するINOUTまたはOUTパラメータであると定義されている、ARRAY型へのハンドル。
- bounds_t *arrayInterval
- bounds_t構造体の配列。この配列では、newValuesに変更するARRAYの構成要素のセットへのインデックスを提供します。
- 1-D ARRAYの場合、構成要素のセットへのインデックスは、arrayInterval配列の最初のセルで指定します。このARRAY型がn-Dの場合、2番目以降の次元情報は必要に応じてセル2から5に格納されます。
- bounds_t構造体は、sqltypes_td.hで次のように定義されています。
typedef struct bounds_t {
int lowerBound;
int upperBound;
} bounds_t;
- lowerBoundの値では、特定の次元内で変更する最初の値を指定し、upperBoundの値では、特定の次元内で変更する最後の値を指定します。
- この構成要素の範囲は、1-D ARRAYに対しては連続的にする必要があります。また、n-D ARRAYに対しては構成要素のスライスまたは矩形範囲にする必要があります。各次元の境界値(下限と上限)は、そのARRAY型に定義された範囲内にする必要があります。
- void *newValues
- FNC_SetArrayElementsWithMultiValuesの操作対象になる構成要素の値を設定するために使用するバッファへのポインタ。
- long newValuesBufSize
- newValuesバッファの合計サイズ(バイト単位)。
- NullBitVecType *nullBitVec
- NullBitVector配列へのポインタ。この配列は、事前に呼び出し側で割り当てます。要求された構成要素の範囲ごとに、nullBitVecの該当するビットが次のように設定されます。
- 構成要素が存在し、NULLではない場合は1。
- 構成要素が存在し、NULLに設定されている場合は0。
- long nullBitVecBufSize
- 呼び出し側で割り当てたNullBitVectorのサイズ。呼び出し側ではNullBitVectorの割り当て後に、すべてのビットを0に設定することで初期化します。
- このパラメータは、FNC_SetArrayElementsWithMultiValuesの保護モードでの実行に必要になります。