17.10 - UDTのタイプ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース入門

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Content Type
ユーザー ガイド
Publication ID
B035-1091-171K-JPN
Language
日本語 (日本)
Last Update
2022-01-13

Teradata Databaseでは、DISTINCT型とSTRUCTURED型のUDTをサポートしています。

UDTのタイプ 説明
Distinct 単一の事前定義データ型(INTEGERやVARCHARなど)を基にしたUDT。 DECIMAL(8,2)データ型を基にしたeuroという名前のDISTINCT型UDTに、通貨データを保存する。
Structure 属性と呼ばれる1つ以上のフィールドの集合であるUDT。それぞれが、事前定義データ型または他のUDT(入れ子形式)として定義されます。 circleという名前のSTRUCTURED型UDTを、x座標、y座標、半径といった属性で構成する。

DISTINCT型およびSTRUCTURED型UDTには、そのUDTで動作するメソッドを定義できます。例えば、DISTINCT型UDTであるeuroには、値をUSドルに変換するメソッドを定義できます。同様に、STRUCTURED型UDTのcircleには、半径属性を使用して円の面積を計算するメソッドを定義できます。

Teradata Databaseでは、動的UDTという形式のSTRUCTURED型UDTもサポートしています。DISTINCT型UDTやSTRUCTURED型UDTを定義する場合にCREATE TYPE文を使用するのとは異なり、NEW VARIANT_TYPE式を使用して動的UDTのインスタンスを作成し、UDTの属性は実行時に定義します。

事前定義の型を指定できる場所であればほぼどこにでも指定できるDISTINCT型UDTやSTRUCTURED型UDTとは異なり、動的UDTは、外部UDFへの入力パラメータ(最大8個)のデータ型としてのみ指定できます。動的UDTの利点は、外部UDFに渡すことのできる入力パラメータの数が大幅に増えることです。