作成する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;