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_SetArrayElements ( ARRAY_HANDLE     aryHandle,
                       bounds_t        *arrayInterval,
                       void            *newValue,
                       int              nullIndicator,
                       long             length  )
ARRAY_HANDLE aryHandle
UDFまたはUDMの戻り値であると定義されているか、または外部ストアド プロシージャに対するINOUTまたはOUTパラメータであると定義されている、ARRAY型へのハンドル。
bounds_t *arrayInterval
bounds_t構造体の配列。この配列は、NULLまたはnewValueに変更する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 *newValue
FNC_SetArrayElementsの操作対象になる構成要素の値を設定するために使用するバッファへのポインタ。
int nullIndicator
要求された構成要素にNULLを設定するかどうかを示します。
  • nullIndicatorが-1の場合は、構成要素にNULLが設定されます。
  • nullIndicatorが0の場合は、構成要素にnewValueが指す値が設定されます。
long length
新しい値の合計サイズ(バイト単位)。