17.10 - 使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データ タイプおよびリテラル

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

参照先の配列の構成要素は、値またはNULLで初期化する必要があります。参照先の配列の構成要素が未初期化状態の場合は、エラーが返されます。DEFAULT NULL句を使用すると、そのARRAYデータ型が作成される時点で配列のすべての構成要素をNULLで初期化できます。また、ARRAYコンストラクタ式を使用して、配列を初期化することもできます。DEFAULT NULL句の詳細は、Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144のCREATE TYPE (ARRAY形式)を参照してください。ARRAYコンストラクタ式については、ARRAY_Constructor_Expressionを参照してください。

1-D ARRAYタイプの場合、1組の角括弧を付けたARRAY構成要素の参照構文を使用すると、単一の構成要素を参照できます。例えば、MyArray[n]のようにします。このMyArrayは1-D ARRAYデータ型です。

n-D ARRAYタイプの場合、n組の角括弧を付けたARRAY構成要素の参照構文を使用して、単一の構成要素を参照できます。このnは、n-D ARRAYタイプの次元数に対応します。例えば、my3DArrayが3-D ARRAYデータ型を定義する場合、この配列の1つの構成要素にアクセスするARRAY構成要素の参照構文は、my3DArray[x][y][z]になります。角括弧の最大セット数は5です。これは、Teradataがサポートするn-D ARRAYタイプの最大次元数に対応しています。

ARRAY構成要素の参照に含まれる参照次元数は、その構成要素の参照を使用して配列値の構成要素にアクセスしようとしたときに検証されます。この検証には、参照先のARRAY値が存在している必要があり、SQL文で構成要素の参照を実際に実行する必要があります。そのため、まれに、ARRAY構成要素の参照を含むSQL文が実際には実行されない場合があります。例えば、行を格納していないテーブルからのSELECTや、左側の評価が真になるOR句の右側で構成要素の参照を行なうSELECT内のWHERE句などが挙げられます。このような場合、ARRAY構成要素の参照は、UDFの呼び出しと同じ動作になります。