ユーザー定義型(UDT)により、アプリケーション内のデータの構造と動作をモデル化するカスタム データ型を作成できます。 UDTは、Teradataの事前定義(ビルトイン)データ型にはない機能を含んでいるデータ型によって、Teradata Databaseを補強します。 UDTは、Teradata Databaseサーバー上にのみ配置できます。
Teradata Databaseは、DISTINCTおよびSTRUCTUREDの2種類のUDTをサポートします。
- DISTINCT型UDTは、INTEGERやVARCHARなどの単一の事前定義データ型をベースとします。 この種のUDTは、すでに定義されているSQLデータ型を再定義します。
例:
'Salary'をDecimal(9,2)として定義しますが、20,000未満または2,000,000超の値を入力できないようにする関数を指定します。
- STRUCTURED型UDTは属性と呼ばれるフィールドの集合であり、それぞれの属性は、事前定義データ型またはその他のUDT(入れ子を許可する)として定義されます。
例:
'Address'がUDTとして定義されており、Street、Apartment、City、State、Zip Codeに対応するサブフィールドがある場合、'Address'オブジェクトへの入力データや'Address'オブジェクトからの出力データを変換するための変換関数を提示する必要があります。 固定フィールド長を使用するか、フィールド間にカンマなどの区切り文字を使用し、すべてのフィールドを結合した状態で、データを1つの文字列として入出力します。