17.00 - 17.05 - 問合わせのサンプル - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

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');