例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL演算子およびユーザー定義関数

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-31
dita:mapPath
ja-JP/xwv1596137968859.ditamap
dita:ditavalPath
ja-JP/xwv1596137968859.ditaval
dita:id
B035-1210
Product Category
Software
Teradata Vantage

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>を参照してください。