17.00 - 17.05 - UDT順序付けマップの機能 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

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

UDTの順序付けは、同じUDTの2つの値を関係演算子を使って比較する方法を指定します(<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照)。さらにシステムは、グループ化、順序付け、ソート、および固有性の判別など、他の比較関連操作の順序付け定義も使用します。

順序付けは、CREATE ORDERING文によってUDTと関連付けられます。開発するすべてのUDTに対して順序付けを定義する必要があります。その定義を済ませてからでないと、それを使用して任意のテーブルの任意のデータ型を定義することができません。順序付けを作成する前に何らかの形でUDTを使おうとすると、システムはリクエスト側にエラーを返します。

完了するために順序付け定義に依存しているSQL操作は多数あります。たとえば、UDTを次の操作のいずれかで使用するには、そのUDTに順序付けが必要です。
  • 比較演算子を持つWHERE句
  • [NOT] BETWEEN … AND
  • [NOT] IN
  • GROUP BY
  • ORDER BY
  • SELECT DISTINCT
  • EXCEPTおよびMINUSセット演算子
  • INTERSECT集合演算子
  • UNION集合演算子
  • COUNT (DISTINCT UDT_column)
  • CREATE TABLE(テーブルにUDT型の列が含まれる場合)
UDTの種類 順序付け機能
DISTINCT システムによって自動生成されます。

これはソースのデータ型がLOBの場合にはあてはまりません。その場合、適切な外部ルーチンとCREATE ORDERING文を併用することにより、LOBの順序付けを明示的に作成する必要があります。

システム生成の順序付けセマンティクスが適切な場合、CREATE ORDERING文を使用して明示的な順序付け機能を定義する必要はありません。

アプリケーションが別のあるいはより高度な順序付けセマンティクスを必要とする場合は、CREATE ORDERINGを使って明示的な順序付け機能を指定することができます。

STRUCTURED CREATE ORDERING文を使用した明示的な定義が必要です。