16.20 - UDT_name - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

作成する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がある場合、同じシグネチャを持つルーチンがすでに存在しているため、リクエストは失敗します。

SYSUDTLIB
UDT_nameを含むデータベースをオプションで指定します。常にSYSUDTLIBであることが必要です。

例: ユーロ換算用のDISTINCT型UDTの作成

次の例は、ソース データ型DECIMAL(8,2)に基づいて、euroという名前のDISTINCT型UDTを作成します。

    CREATE TYPE euro 
    AS DECIMAL(8, 2) 
    FINAL
    METHOD toUS()
    RETURNS us_dollar CAST FROM DECIMAL(8,2)
    LANGUAGE C
    DETERMINISTIC
    NO SQL
    RETURNS NULL ON NULL INPUT;
    …

例: ドル換算用のDISTINCT型UDTの作成

次の例は、ソース データ型DECIMAL(8,2)に基づいて、us_dollarという名前のDISTINCT型UDTを作成します。

    CREATE TYPE SYSUDTLIB.us_dollar 
    AS DECIMAL(8, 2) 
    FINAL
    METHOD toEuro()
    RETURNS euro CAST FROM DECIMAL(8,2)
    LANGUAGE C
    DETERMINISTIC
    NO SQL
    RETURNS NULL ON NULL INPUT;