16.20 - COMMENT (コメント取得形式) - 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-1146-162K-JPN
Language
日本語 (日本)

目的

データベース オブジェクトまたは定義に以前挿入されたコメントを取得します。

このSQL文のコメント書き込み形式の詳細については、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「COMMENT(コメント書き込み形式)」を参照してください。

必要な権限

なし。

自動的に与えられる権限

なし。

構文



構文要素

object_kind_1
必須のデータベース オブジェクトの種類の指定。
object_kind_1の指定内容として有効なものすべてがデータベース オブジェクトというわけではありません。例えば、トリガーとビューは、データベース オブジェクトというよりアクションまたは概念的なグループの定義です。
それらが表わすオブジェクトの種類に関するコメントを取得するには、以下のデータベース オブジェクトの種類をSYSUDTLIB指定してください。
  • COLUMN
  • FUNCTION
  • GLOP SET
  • GROUP
  • MACRO
  • METHOD
  • PROCEDURE
  • PROFILE
  • ROLE
  • TRIGGER
  • TYPE
  • VIEW
object_kind_2
データベース オブジェクトの種類の指定(オプション)。
それらが表わすオブジェクトの種類に関するコメントを取得するために、以下のデータベース オブジェクトの種類を指定できますが、種類は任意です。
  • DATABASE
  • TABLE
  • USER
  • FILE
COMMENT文の意義として必要なのは、オブジェクトの種類を指定する場合に、取得するコメントを持つハッシュ インデックスまたは結合インデックスに対しては、キーワードTABLEを指定する必要があるということです。ただし、TABLEは必須のオブジェクトの種類の指定ではないため、指定するようリクエストはされません。
ファイルのコメントを取得する際にobject_kindを省略する場合は、dbname.uifnameのように、object_nameにファイルのパス全体を含める必要があります。
database_name
user_name
object_nameが含まれるデータベースまたはユーザーを指定します(現在のデータベースまたはユーザーに含まれていない場合)。
object_kindがGROUPの場合は、データベース名またはユーザー名を指定できません。
データベース オブジェクトの名前付けで使用するルールについては、<Teradata Vantage™ SQL基礎、B035-1141>を参照してください。
object_name
以下を含む、コメントを取得するオブジェクトの名前。
  • マクロ、ストアド プロシージャ、またはユーザー定義関数のパラメータ。
  • ユーザーの基本テーブル、エラー テーブル、ハッシュ インデックス、結合インデックス、またはビューの列。
  • データベースまたはユーザーが含んでいる特定の関数、マクロ、プロファイル、ロール、ストアド プロシージャ、基本テーブル、エラー テーブル、ハッシュ インデックス、結合インデックス、トリガー、またはビュー名。
  • データベースまたはユーザー。
  • UDT。database_name.udt_name.attribute_nameを指定して、STRUCTURED型UDTの特定の属性に対して記述されたコメントを取得できます。
  • メソッド。固有のメソッド名を使用する必要があります。
  • GLOPセット。
オブジェクト名の前にオブジェクトの種類を示すキーワードがない場合、システムは、名前の修飾レベルからオブジェクトを判別しようとします。あいまいさを避けるために、完全修飾名を使用してください。
x.y.zを使用して修飾の階層を示します。xが最も高い(最も粗い)レベルで、zが最も低い(最も細かい)レベルです。
xの階層レベルを指定すると、指定されたオブジェクトは以下のいずれかであると暗黙に示されます。
  • データベース
  • ユーザー
x.yの階層レベルを指定すると、指定されたオブジェクトは以下のいずれかであると暗黙に示されます。
  • 基本テーブル
  • エラー テーブル
  • GLOPセット
  • ハッシュ インデックス
  • 結合インデックス
  • マクロ
  • プロファイル
  • ロール
  • ストアド プロシージャ
  • トリガー
  • ユーザー定義関数
  • データベースまたはユーザーx内のビュー。
x.y.zの階層レベルを指定すると、指定されたオブジェクトは以下のいずれかであると暗黙に示されます。
  • マクロ パラメータ
  • ストアド プロシージャ パラメータ
  • STRUCTURED型UDTの属性
  • テーブルの列
  • UDFパラメータ
  • GLOPセット、UDF、UDT、マクロ、ストアド プロシージャ、プロファイル、ロール、基本テーブル、トリガー、またはビューy内(それらもまた、データベースまたはユーザーxに含まれています)のビュー列。

ANSI準拠

COMMENTは、ANSI SQL:2011規格に対するTeradata拡張機能です。

COMMENT (コメント取得形式)を使用するためのルール

COMMENT文のコメント取得形式を使用する場合、以下のルールが適用されます。
  • COMMENT (コメント取得形式)は、トランザクション処理のDML文として処理されるので、2PCセッション モードで使用できます。2フェーズ コミット プロトコルの簡単な説明については、<Teradata Vantage™ - データベースの導入、B035-1091>を参照してください。

    Teradataセッション モードでは、明示的トランザクションの境界内であればどこでもCOMMENT (コメント取得形式)リクエストを指定できます。

  • コメントを取得する場合は、オブジェクト名の指定の後にコメント文字列を指定ない
    状況 システムの実行内容
    コメント文字列を指定する 以下のいずれかを実行します。
    • 指定されたオブジェクトに既存のコメントが無い場合、Teradata Databaseはデータ ディクショナリ内のオブジェクトに指定されたコメント文字列を配置します。
    • 指定されたオブジェクトに既存のコメントが無い場合、Teradata Databaseはデータ ディクショナリ内の既存のコメントを、新規に指定された文字列に置き換えます。
    コメント文字列を指定しない 以下のいずれかを実行します。
    • 指定されたオブジェクトに既存のコメントが無い場合、Teradata DatabaseはNULLを返します。
    • 指定されたオブジェクトに既存のコメントがある場合、Teradata Databaseはデータ ディクショナリ内に保管されているとおりにそのコメントのテキストを返します。
  • 指定したオブジェクトの種類がGROUPの場合は、これらが含まれるデータベースまたはユーザー名を指定できません。

例: コメントの取得

nameテーブルのemployee列を説明するために次のコメントを挿入したとします。

     COMMENT ON COLUMN employee.name
       IS 'Employee name, last name followed by first initial';

次のリクエストによってこのコメントを取得します。

     COMMENT ON COLUMN employee.name;

このリクエストは、前のリクエストで作成されたとおりにコメント文字列を返します。

     Employee name, last name followed by first initial

このリクエストのオブジェクトの種類はCOLUMNなので、記述する場合にはキーワードCOLUMNを指定する必要があります。

例: コメントの書き込み

ord_hidxテーブルに定義されるordersという名前のハッシュ インデックスを定義したとします。このテーブルは、アカウンティングデータベースに格納されています。

このリクエストのオブジェクトの種類は、ハッシュ インデックスを表わすTABLEなので、リクエストの中でTABLEを指定する必要はありません。

次のコメント挿入用のCOMMENTリクエストを入力して、ハッシュ インデックスord_hidxにコメントを定義できます。

     COMMENT accounting.ord_hidx AS 'hash index on Orders';

次のコメント取得用のCOMMENTリクエストを実行した場合、次のテキストが返されます。

     COMMENT accounting.ord_hidx;
     
     hash index on orders