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}