17.00 - 17.05 - 構文 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)
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の保護モードでの実行に必要になります。