タプル型

ユーザー定義型の代わりにタプルを使用できます。

位置指定された型付きのフィールドを要素とする固定要素数の集合を保持する新しいタプル・データ型。ユーザー定義型の代わりにタプルを使用できます。タプルには多くのフィールド(32,768)を収容できますが、あまり多くのフィールドを収容しないようにしてください。一般的には、2、3のフィールドを含むタプルを作成します。

テーブル作成文では、山かっことコンマ区切り文字を使用してタプルの構成要素の型を宣言します。タプル値を丸かっこで囲んで、以下の例のようにテーブルに値を挿入します。

CREATE TABLE collect_things (
  k int PRIMARY KEY,
  v tuple<int, text, float>
);

INSERT INTO collect_things (k, v) VALUES(0, (3, 'bar', 2.1));

SELECT * FROM collect_things;

 k | v
---+-----------------
 0 | (3, 'bar', 2.1)

タプルを使用して選択をフィルター処理できます。

CREATE INDEX on collect_things (v);

SELECT * FROM collect_things WHERE v = (3, 'bar', 2.1);

 k | v
---+-----------------
 0 | (3, 'bar', 2.1)

以下の例に示すように、タプルをネストできます。

CREATE TABLE nested (k int PRIMARY KEY, t tuple <int, tuple<text, double>>);

INSERT INTO nested (k, t) VALUES (0, (3, ('foo', 3.4)));