使用上の注意 - Teradata Database - Teradata Vantage NewSQL Engine - ARRAY要素の参照、使用上の注意。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

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

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の呼び出しと同じ動作になります。