circle_t列が定義されている次のようなテーブルがあるとします。
CREATE TABLE circleTbl( c_id INTEGER, circles circle_t);
このサンプルの中で前に定義したcircle_tコンストラクタ メソッドを使用することによって、circle_t UDTのインスタンスを作成して初期化する場合、次のようなNEW式を使用することができます。
INSERT circleTbl( 1001, NEW circle_t(512, 512, 36, 'RED') );
また、次のようにして、circle_t UDTのインスタンスを作成して初期化することもできます。
INSERT circleTbl( 1002, NEW circle_t().circle_t(256, 128, 78, 'BLUE') );
上記の文では、STRUCTURED型UDTのためにTeradata Databaseによって自動生成されたcircle_tコンストラクタUDFを呼び出すことによって、すべての属性がNULLであるcircle_t UDTのインスタンスが作成されます。その後、この文は、新たに作成されたcircle_tのインスタンスに対してcircle_tコンストラクタ メソッドを呼び出して属性を初期化します。
以下に、Teradata Databaseがキャスト メソッドを呼び出して、UDTをVARCHAR(80)型に変換するサンプルを示します。
SELECT c_id FROM circleTbl WHERE CAST (circles AS VARCHAR(80)) = '256:128:78:BLUE';
以下に、Teradata Databaseが変換メソッドを呼び出して、circles列内のデータをサーバーからエクスポートするサンプルを示します。
SELECT * FROM circleTbl;
以下に、Teradata Databaseが次のようなメソッドを呼び出すサンプルを示します。
- circles列のデータをサーバーからエクスポートする変換メソッド
- circles列のUDTを比較する整列メソッド
- 比較で使用するcircle_t UDTのインスタンスを作成するコンストラクタ メソッド
SELECT * FROM circleTbl WHERE circles < NEW circle_t(0,0,20,'RED');