addressという名前のSTRUCTURED型UDTを作成する次のような文について考えてみましょう。
CREATE TYPE address AS (street VARCHAR(20) ,zip CHAR(5)) NOT FINAL;
以下の文は、locationという名前のaddress列を定義するテーブルを作成します。
CREATE TABLE european_sales (region INTEGER ,location address ,sales DECIMAL(8,2));
以下の文は、NEWを使ってaddress値をeuropean_salesテーブルに挿入します。
INSERT european_sales (1001, NEW address(), 0);
Vantageでは、address UDT用に自動生成されたデフォルトのコンストラクタ関数が選択されます。その理由は、引数リストが空であり、コンストラクタ メソッドの定義がないaddress UDTが作成されているからです。デフォルトのaddressコンストラクタ関数は、street属性とzip属性をNULLに初期化します。
以下の文は、前のINSERT文と同等ですが、NEWを使わないでコンストラクタ関数を呼び出します。
INSERT european_sales (1001, address(), 0);
XML型インスタンスを作成するには、<Teradata XML>を参照してください。