HELPレポートの名前とタイトルに関するルール - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

HELP文を実行すると、データベース オブジェクトの以下の名前とタイトルの情報が返されます。

列名などの名前の場合:

  • 基本名。例えば、データ ディクショナリに存在するオブジェクト定義に基づく列名。レガシー アプリケーションをサポートするためのCHAR(30)の名前形式。
  • Column Dictionary Name
  • Column SQL Name
  • Column Name UEscape

タイトルをサポートする、テーブルや列などのオブジェクトのタイトルの場合:

  • タイトル、最大VARCHAR(256)
  • Dictionary Title
  • SQL Title
  • Title UEscape

これらのフィールドは、名前またはタイトルのデータ ディクショナリ表現とセッション(クライアント)文字セットでの表現の違いを管理するのに役立ちます。それ以降のSQL文では、SQL NameとSQL Titleの値を直接使用することができます。

HELPの名前フィールドの内容は、以下のテーブルのルールに基づいて決定されます。

フィールド 説明
  • object_type Dictionary Name
  • Dictionary Title
セッション文字セットに変換されるデータ ディクショナリの名前またはタイトル。

オブジェクト名: VARCHAR(128)

タイトル: VARCHAR(256)

名前またはタイトルのどの文字もセッション文字セットに変換不可の場合は、セッション文字セットの置換文字に変換される。

たとえば、セッション文字セットがASCIIの場合、変換不可の各文字の代わりに置換文字0x1Aが使用される。

^Z

^Zは、表記不能な制御文字を表わすために使用される。

  • object_type 
SQL Name
  • SQL Title
データ ディクショナリに存在し、SQLリクエストで直接使用できる文字列に変換される名前またはタイトル。現在のセッション文字セットで最も短い形式(大文字と小文字の区別あり)で表記される。

オブジェクト名: VARCHAR(644)

オブジェクト名のすべての文字がセッション文字セットに変換可能な場合は、オブジェクト名のSQL Nameは、Dictionary Nameと同じになる。SQL文の構文に引用符が必要な場合、SQL NameフィールドはQUOTATION MARK (U+0022)文字で開始し、終了する。

オブジェクト名に引用符文字を使用する方法については、<SQL基礎>を参照してください。

現在のセッション文字セットに変換不可の文字がオブジェクト名に含まれている場合、SQL NameはUNICODEで区切られた識別子として表記される。ただし、通常の終了UEscape句は使用せず、LATIN CAPITAL LETTER U (U+0055)で始まり、AMPERSAND (U+0026)、QUOTATION MARK (U+0022)と続き、QUOTATION MARK (U+0022)で終了する。

たとえば、次のようになります。

U&"\7A0E\91D1"

タイトル: VARCHAR(1284)

SQL TitleはSQL Nameと同じように表記されますが、タイトルは名前ではなく文字列であるため、以下のようになる。

  • タイトルのすべての文字が現在のセッション文字セットに変換可能な場合は、SQL Titleフィールドの値の先頭と末尾はAPOSTROPHE (U+0027)になる。
  • セッション文字セットに変換不可の文字がタイトルに含まれている場合、SQL TitleはUNICODEで区切られたリテラルとして表記され、開始APOSTROPHEの前にLATIN CAPITAL U (U+0055)、AMPERSAND (U+0026)の順に配置される。

セッション文字セットに変換不可の各文字がそれぞれ対応するUNICODE識別子に置換される。各UNICODE識別子の前に、セッション文字セットのデフォルトの区切り文字が付く。

例えば、ポーランド通貨を'Polish_Zloty'として指定する場合、"zloty"の"l"として示されているラテン語の小文字のLは以下のように\0142として表記される。

U&'Polish_Z\0142oty '
  • object_type UEscape
  • Title UEscape
VARCHAR(1)

SQL Name/SQL Titleの変換不可の文字の代わりに使用される各UNICODE識別子の前に挿入される区切り文字を示す。たとえば、次のようになります。

Table UEscape: \

SQL Name/SQL Titleのすべての文字がセッション文字セットに変換可能な場合は、SQL Name/SQL Titleフィールドには区切り文字は含まれず、UEscapeフィールドはNULLになる。

Table UEscape: ?

?文字はNULLを表わす。