CREATE TYPE
関連情報フィールドを1つ以上含んでいるカスタム・データ型をキースペースに作成します
住所(番地、市区町村、都道府県、郵便番号)などの関連情報フィールドを1つ以上含んでいるカスタム・データ型をキースペースに作成します。
制約事項: UDTにカウンター・フィールドを含めることはできません。
構文
CREATE TYPE [IF NOT EXISTS] keyspace_name.type_name( field_name cql_datatype[,] [field_name cql_datatype] [,...] )
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
イタリック体 |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key : value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[--] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ...</schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。 |
- IF NOT EXISTS
-
型がキースペースに既に存在する場合にエラーを抑制します。UDTスコープはキースペース全体です。
- type_name
-
型の一意の名前。CQLの型は予約されています。「型の名前」のリストを参照してください。
- field_name cql_datatype
-
UDTに含まれているフィールドを、「
field_name cql_datatype, field_name cql_datatype
」のようにコンマ区切りリストで定義します。
例
次の例では、個々のサイクリストに関する個人データで構成されるユーザー定義型cycling.basic_info
を作成します。
CREATE TYPE cycling.basic_info ( birthday timestamp, nationality text, weight text, height text );
UDTを定義した後、そのUDTを使用して、カラムを持つテーブルを作成できます。CQLのコレクション・カラムとその他のカラムでは、「ユーザー定義型の使用」に示すように、ユーザー定義型の使用がサポートされています。