17.05 - column_name - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語
Last Update
2021-03-30

1つ以上の非QITS列の名前をテーブルに定義する順序で指定します。

データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

1つのキュー テーブルに対して、必須のQITSを含めて最大2,048の列を定義できます。

data type
column_nameに対して単一のデータ型を指定しなければなりません。
キュー テーブルには、BLOBまたはCLOBデータ型を持つ列を含めることはできません。
データ型、データ型の属性、およびデータ型の変換の詳細については、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>を参照してください。
明示形式を指定しない場合、列は、データ型のデフォルトの形式であると仮定されます。これは、tdlocaledefユーティリティによって定義されたカスタムのデータ形式仕様(SDF)によって指定できます。<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。 明示的な形式は、解析と文字列の検索に適用されます。
column attributes
列に対してデータを定義する1つまたは複数のデータ定義句を指定します。
文字サーバー データ セットとしてKANJI1を指定することはできません。指定した場合、Vantageはリクエスト元にエラーを返します。
列データ属性の指定は任意指定です。列に属性を指定する場合は、属性を定義する前にデータ型を定義する必要があります。

例: JSON、ST_GEOMETRY、またはXMLを持つキュー テーブルでのSELECT AND CONSUMEの使用

インラインのJSON、ST_GEOMETRY、またはXML列を含むキュー テーブル、例えばJSON(1000)などを作成できます。ただし、SELECT AND CONSUMEを使用してこのテーブルからデータを検索するには、非LOB変換を使用する必要があります。

この例のテーブル定義は、次のとおりです。

CREATE SET TABLE qt1, QUEUE
(
      QITS TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
      col1 INTEGER,
      jsn JSON(64000) CHARACTER SET LATIN
)
PRIMARY INDEX (col1);
次にデータの行を挿入します。
INSERT INTO qt1 VALUES (current_timestamp, 1, '{"a":123}');

その後、JSON、ST_GEOMETRY、およびXMLデータのLOB以外の変換によりユーザーを作成します。

CREATE USER User1 AS PERM=1e8 * (HASHAMP () + 1), PASSWORD=secret,
    TRANSFORM ( JSON CHARACTER SET LATIN=TD_JSON_VARCHAR,
                ST_GEOMETRY=TD_GEO_VARCHAR,
                XML=TD_XML_VARCHAR);

ここで、データを取得するUser1としてログインします。

SELECT AND CONSUME TOP 1 col1, jsn FROM qt1;

 *** Query completed. One row found. 2 columns returned.
 *** Total elapsed time was 1 second.
       col1 jsn
----------- ---------------------------------------------------------------
          1 {"a":123}