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
日本語 (日本)

最初にFNC_GetArrayElementsを呼び出して、ARRAYに含まれる複数の値と、それに対応するNullBitVectorを取得することができます。それらの構造体の両方をオプションで変更してから、FNC_SetArrayElementsWithMultiValuesを使用すると、同一のARRAYデータ型を保持する別のARRAY内の同じ範囲の構成要素を更新できます。

その代わりに、独自のnewValuesバッファを作成して、そのバッファの値を使用して次のようにARRAYを更新することもできます。

  1. newValuesバッファに、変更する構成要素の数に応じたサイズを割り当てます。このサイズは、arrayInterval入力パラメータで指定されたサイズを基にして決定します。newValuesバッファの割り当てを参照してください。
  2. 指定した範囲内の各構成要素に割り当てる構成要素の値でバッファを満たします(行優先順)。newValuesバッファの埋め込みを参照してください。それに対応するNullBitVectorを割り当ててから初期化して、これをnewValuesバッファの値に合わせて設定する必要があります。NullBitVectorの設定を参照してください。このようにすると、FNC_SetArrayElementsWithMultiValuesを使用して、範囲内のすべての値を一度に更新できます。

この関数を使用すると、ARRAYに含まれる大きな部分でも少ないFNC呼び出しで更新できるため、優れたパフォーマンスが得られます。この関数を使用しない場合は、個別の構成要素に異なる新しい値を設定するために、FNC_SetArrayElementsを複数回呼び出すことが必要になります。

詳細については、ARRAY構成要素の値の設定を参照してください。