1つ以上の非QITS列の名前をテーブルに定義する順序で指定します。
データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
1つのキュー テーブルに対して、必須のQITSを含めて最大2,048の列を定義できます。
- data type
- 各column_nameに対して単一のデータ型を指定しなければなりません。
- column attributes
- 列に対してデータを定義する1つまたは複数のデータ定義句を指定します。
例: 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}