SQLリクエストでのUDTの指定 - 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-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
ルールと制限を以下に示します。
  • UDTを任意のテーブルの列データ型として使用する前に、UDTにtosqlおよびfromsqlの変換機能の定義が必要です。詳細は、Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144のCREATE TRANSFORMを参照してください。
  • 列リストにUDTを返す式は、そのUDTの変換グループにfromsqlルーチンがある場合のみ指定できます。システムは、クライアント アプリケーションに返す前に、fromsqlルーチンによって自動的に式をそのUDT値から外部タイプに変換します。
  • この点でのDISTINCT型とSTRUCTURED型との唯一の相違点は、データベースが、ソース データ型を外部データ型として、fromsqlおよびtosqlの両方のルーチンとともに、変換グループを固有タイプのためにデフォルトで生成しますが、STRUCTURED型の場合は変換グループを明示的に作成しなければならないということです。UDTの変換グループを作成する方法の詳細については、Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144を参照してください。
  • テーブル参照がないSELECT文で、その選択リストにUDT式を含むものを実行し、NEW式を使用してUDTリテラル宣言を使用することでそのUDTに対して変換機能を宣言していない場合、リクエストはアボートし、システムはエラーを返します。NEW式の詳細は、<Teradata Vantage™ - SQL演算子およびユーザー定義関数、B035-1210>を参照してください。