- インスタンス
- コンストラクタ
インスタンス メソッド
インスタンス メソッドは、DISTINCT型またはSTRUCTURED型UDTの特定のインスタンスに対して作用します。例えば、areaというインスタンス メソッドは、名前がcircleで、属性がx、y、およびradiusのSTRUCTURED型UDTの面積を計算して戻します。
SQL式内の列名を、UDTに対するインスタンス メソッドの呼び出しに置き換えることができます。Teradata Databaseでその式が評価される際には、UDMが呼び出されます。
また、インスタンス メソッドにより、DISTINCT型またはSTRUCTURED型のUDTに対する変換、整列、およびキャストの機能を提供することもできます。この種のインスタンス メソッドを直接呼び出すことはありません。この機能は、UDTが関係する特定の操作においてTeradata Databaseによって使用されます。
ユーザー | Teradata Databaseによって使用される機能 |
---|---|
CAST関数を使用するなどして、そのUDTを事前定義データ型または別のUDTに変換する場合 | キャスト |
別のUDTまたは事前定義型からそのUDTへ変換する場合 | |
ORDER BY句を使用するなどにより2つのUDTを比較する場合 | 整列 |
サーバーからUDTをエクスポートする場合 | 変換 Teradata Databaseでは、サーバーにUDTをインポートする際にも変換機能が使用されます(USING修飾子を使用した場合など)。ただし、実装されるのはUDMではなく、常にUDFです。 |
UDT列のあるテーブルを作成し、その列に対して問合わせを実行するには、変換、整列、およびキャストの機能を提供するUDFまたはインスタンス メソッドが、あらかじめそのUDTに関連付けられていなければなりません。
呼び出し側 | 結果 |
---|---|
DISTINCT | 変換、整列、およびキャストの機能を提供するUDFおよびメソッドが、Teradata Databaseによって自動的に生成されます。 |
STRUCTURED | 変換、整列、およびキャストの機能を提供するUDFまたはUDMを、自分で実装する必要があります。 |
コンストラクタ メソッド
コンストラクタ メソッドは、STRUCTURED型UDTのインスタンスを初期化します。
STRUCTURED型UDTには、それぞれ異なる初期化オプションを提供する複数のコンストラクタ メソッドを含めることができます。
STRUCTURED型UDTのインスタンスをSQL文中で作成するには、コンストラクタ メソッドを呼び出すか、またはNEW式の中でコンストラクタ メソッドを指定します。