翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
UDT – Amazon Keyspaces で 1 つの列を定義するために使用できるフィールドとデータ型のグループ。UDTs の有効なデータ型は、同じキースペースで既に作成したコレクションやその他の UDTs Cassandra データ型です。サポートされている Cassandra データ型の詳細については、「」を参照してくださいCassandra データ型サポート。
user_defined_type::= udt_name
udt_name::= [ keyspace_name '.' ] identifier
タイプのステートメント
CREATE TYPE
CREATE TYPE
ステートメントを使用して、新しいタイプを作成します。
[Syntax] (構文)
create_type_statement ::= CREATE TYPE [ IF NOT EXISTS ] udt_name '('field_definition ( ',' field_definition)* ')' field_definition::= identifier cql_type
Where:
-
IF NOT EXISTS
タイプが既に存在する場合、 は失敗CREATE TYPE
しません。(オプション) -
udt_name
は、タイプ形式の UDT の完全修飾名ですmy_keyspace.my_type
。例: 。USE
ステートメントで現在のキースペースを定義する場合、キースペース名を指定する必要はありません。 field_definition
は名前とタイプで構成されます。
次の表は、許可された UDT 名の例を示しています。最初の列はタイプの作成時に名前を入力する方法を示し、2 番目の列は Amazon Keyspaces が内部的に名前をフォーマットする方法を示しています。Amazon Keyspaces では、 のようなオペレーションにフォーマットされた名前が必要ですGetType
。
入力した名前 | フォーマットされた名前 | メモ |
---|---|---|
MY_UDT
|
my_udt |
二重引用符を使用しない場合、Amazon Keyspaces はすべての大文字を小文字に変換します。 |
"MY_UDT"
|
MY_UDT |
二重引用符を使用すると、Amazon Keyspaces は大文字を尊重し、フォーマットされた名前から二重引用符を削除します。 |
"1234"
|
1234 |
二重引用符を使用すると、名前は数字で始まることができ、Amazon Keyspaces はフォーマットされた名前から二重引用符を削除します。 |
"Special_Ch@r@cters<>!!"
|
Special_Ch@r@cters<>!! |
二重引用符を使用すると、名前に特殊文字を含めることができ、Amazon Keyspaces はフォーマットされた名前から二重引用符を削除します。 |
"nested""""""quotes"
|
nested"""quotes |
Amazon Keyspaces は、フォーマットされた名前から外部二重引用符とエスケープ二重引用符を削除します。 |
例
CREATE TYPE my_keyspace.phone (
country_code int,
number text
);
ネストUDTs がフリーズしている場合は、UDT をネストできます。タイプのデフォルト値とクォータの詳細については、「」を参照してくださいAmazon Keyspaces UDT クォータとデフォルト値。
CREATE TYPE my_keyspace.user (
first_name text,
last_name text,
phones FROZEN<phone>
);
UDTs「」を参照してくださいAmazon Keyspaces のユーザー定義タイプ (UDTs)。
DROP TYPE
DROP TYPE
ステートメントを使用して UDT を削除します。削除できるのは、別のタイプまたはテーブルで使用されていないタイプのみです。
[Syntax] (構文)
drop_type_statement ::= DROP TYPE [ IF EXISTS ] udt_name
Where:
-
IF EXISTS
タイプが存在しない場合、 は失敗DROP TYPE
しません。(オプション) -
udt_name
は、タイプ形式の UDT の完全修飾名ですmy_keyspace.my_type
。例: 。USE
ステートメントで現在のキースペースを定義する場合、キースペース名を指定する必要はありません。
例
DROP TYPE udt_name;