CREATE TYPE構文要素(DISTINCT形式) - 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/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage
SYSUDTLIB
UDT_nameを含むデータベースをオプションで指定します。常にSYSUDTLIBであることが必要です。
UDT_name
作成するDISTINCT型UDTの名前。
データベース オブジェクトの命名ルールについては、Teradata Vantage™ - SQLの基本、B035-1141を参照してください。
名前にマルチバイト文字を含むオブジェクトがデータベースのUDFライブラリにある場合、新規オブジェクト名に1バイト文字のみが含まれる場合でも、シングルバイトのセッション文字セットを使用して、新たなUDF、UDT、メソッド、またはJavaストアド プロシージャのオブジェクトを作成することはできません。作成しようとすると、システムは要求元にエラーを返します。代わりにマルチバイトのセッション文字セットを使用します。
データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
DISTINCT型の作成では、SYSUDTLIBのTVMNameI名前領域で2つの名前を消費します。
  • 消費される1つ目の名前は、UDT自身の名前に対応します。
  • 消費される2つ目の名前は、システム生成UDFに対応します。

    システムは、この名前を命名規則に関するトピックでの説明に従って構築します。

SYSUDTLIBデータベース内に、同じ特定名または同じルーチン シグネチャのUDFを作成することはできません。
CREATE TYPEリクエストを実行依頼した時点で、すでにSYSUDTLIBにそのようなUDFがある場合、同じシグネチャを持つルーチンがすでに存在しているため、リクエストは失敗します。
data_type
DISTINCT型UDTの基礎となる事前定義データ型。
次のデータ型は指定できません。
  • PERIOD(DATE)、PERIOD(TIME)、およびPERIOD(TIMESTAMP)
  • JSON
  • XMLおよびXMLTYPE
  • ST_GEOMETRY
  • DATASET
server_character_set
data_typeが文字タイプの場合、data_typeによって使用されるサーバー文字セットを指定します。それ以外の場合は何も指定できません。
CHARACTER SET句の目的は、システム生成ルーチンに対して作用することです。
CHARACTER SET句により、システムがDISTINCT型のUDF_nameを作成する際に、以下の処理が行なわれます。
  • システム生成のCASTルーチンが登録され、指定されたサーバー文字セットの文字ソース タイプとの間でキャストを実行します。
  • システム生成のORDERINGルーチンが登録され、指定されたサーバー文字セットの文字ソース タイプへのマップを実行します。
  • システム生成のtosqlおよびfromsql TRANSFORMルーチンが登録され、指定されたサーバー文字セットの文字ソース タイプとの間でUDTのデータ変換を実行します。
すべてのデータベース トランザクションがLATIN文字セットを使用して表わすことができる言語で発生することがわかっている場合、LATINを指定します。その他の場合、例えば、一部またはすべてのトランザクションで非LATIN文字またはマルチバイト文字が使用されている場合、UNICODEを指定します。<Teradata Vantage™ - Advanced SQL Engine国際文字セット サポート、B035-1125>を参照してください。
文字サーバー データ セットKANJI1を指定することはできません。指定した場合、リクエスト元にエラーが返されます。
FINAL
すべてのDISTINCT型UDTの定義に必須のキーワード。
FINALキーワードは、定義中のタイプにはサブタイプを作成できないことを示します。