構文 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage
void
FNC_GetArrayTypeInfo_EON ( ARRAY_HANDLE       aryHandle,
                           array_info_eon_t  *arrayInfo,
                           bounds_t          *arrayScope)
arrayInfo
sqltypes_td.hで以下のように定義されています。
typedef struct array_info_eon_t {
   int numDimensions;
   int totalNumElements;
   element_info_eon_t elementInfo;
} array_info_eon_t;
arrayScope
sqltypes_td.hで以下のように定義されています。
typedef struct bounds_t {
   int lowerBound;
   int upperBound;
} bounds_t;
arrayScope配列は、次のように宣言する必要があります。
bounds_t arrayScope[FNC_ARRAYMAXDIMENSIONS];
elementInfo
sqltypes_td.hで以下のように定義されています。
typedef struct element_info_eon_t {
   dtype_et data_type;
   SMALLINT udt_indicator;
   [ CHARACTER udt_type_name[FNC_MAXNAMELEN_EON]; ]
   INTEGER_td max_length;
   SMALLINT total_interval_digits;
   SMALLINT num_fractional_digits;
   charset_et charset_code;
} element_info_eon_t;

構文要素

aryHandle
外部ルーチンへの入力パラメータとして定義されたARRAY型へのハンドル。
arrayInfo
ARRAY入力パラメータについての情報を保持するバッファへのポインタ。
dtype_et、total_interval_digits、num_fractional_digits、またはcharset_etについての詳細は、FNC_GetStructuredAttributeInfo_EONを参照してください。
arrayScope
bounds_t構造体の配列。この配列では、n-D ARRAYの各次元のスコープを表わします。ARRAY型が1-Dの場合、この単一次元のデフォルト スコープ情報(1からnまで。nはARRAYのサイズ)は、arrayScope配列の最初のセルで得られます。ARRAY型がn-Dの場合、2番目以降の次元情報は必要に応じてセル2から5に格納されています。ここから、各次元の開始境界と終了境界が得られます。
この配列は、値が5に設定されたFNC_ARRAYMAXDIMENSIONSのサイズになります。これは、ARRAYの最大次元数が5次元になることを意味します。
numDimensions
このARRAY型に定義された次元数です。
totalNumElements
このARRAY型に定義された構成要素の総数(すべての次元が対象)です。これを、ARRAY型の最大カーディナリティと呼ぶことがあります。
lowerBound
次元の下限です。
upperBound
次元の上限です。
data_type
ARRAYの構成要素のデータ型です。
udt_indicator
UDTの種類を示します。
udt_indicator UDTの種類
0 UDTではない
1 STRUCTURED型UDT
2 DISTINCT型UDT

固有型の場合、データ型は固有型UDTの基礎となる型を返します。

3 内部UDT
4 ARRAY型
udt_type_name
(パラメータがUDTの場合は必須です。それ以外の場合は使用できません。)構成要素に関連付けられたUDT型の名前。
max_length
構成要素の値の最大長(バイト単位)。
max_lengthは、FNC_GetArrayElementを呼び出してARRAYに含まれる1つの構成要素の値を取得するために、先に割り当てておく必要があるバッファのバイト単位のサイズとして使用できます。
total_interval_digits
特定の構成要素型に対する精度値です。例えば、DECIMAL(n,n)型、またはINTERVAL DAY(m) TO SECOND(n)の値mになります。この値を使用する型のリストは、attribute_info_t.total_interval_digitsのリストと同じです。
num_fractional_digits
特定の構成要素の型に対する精度値またはスケール値です。例えば、DECIMAL(m,n)型、またはINTERVAL DAY(m) TO SECOND(n)の値mになります。この値を使用する型のリストは、attribute_info_t.num_fractional_digitsのリストと同じです。
charset_code
構成要素に関連付けられたサーバー文字セット(構成要素が文字型の場合)。