Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
User-defined Typen (UDTs)
UDT — Eine Gruppierung von Feldern und Datentypen, die Sie verwenden können, um eine einzelne Spalte in Amazon Keyspaces zu definieren. Gültige Datentypen für UDTs sind alle unterstützten Cassandra-Datentypen, einschließlich Sammlungen und anderer UDTs, die Sie bereits im selben Schlüsselraum erstellt haben. Weitere Informationen zu unterstützten Cassandra-Datentypen finden Sie unter Unterstützung des Cassandra-Datentyps.
user_defined_type::= udt_name udt_name::= [ keyspace_name '.' ] identifier
Aussagen für Typen
CREATE TYPE
Benutze das CREATE TYPE Anweisung, um einen neuen Typ zu erstellen.
Syntax
create_type_statement ::= CREATE TYPE [ IF NOT EXISTS ] udt_name '('field_definition ( ',' field_definition)* ')' field_definition::= identifier cql_type
Wobei Folgendes gilt:
-
IF NOT EXISTSverhindertCREATE TYPEdaran zu scheitern, wenn der Typ bereits existiert. (Optional) -
udt_nameist der vollqualifizierte Name des UDT im Typformat, zum Beispielmy_keyspace.my_type. Wenn Sie den aktuellen Schlüsselraum mit dem definierenUSEAnweisung, Sie müssen den Schlüsselraumnamen nicht angeben. field_definitionbesteht aus einem Namen und einem Typ.
Die folgende Tabelle zeigt Beispiele für zulässige UDT-Namen. Die erste Spalte zeigt, wie Sie den Namen eingeben, wenn Sie den Typ erstellen. Die zweite Spalte zeigt, wie Amazon Keyspaces den Namen intern formatiert. Amazon Keyspaces erwartet den formatierten Namen für Operationen wie GetType.
| Name eingegeben | Formatierter Name | Hinweis |
|---|---|---|
MY_UDT
|
my_udt |
Ohne doppelte Anführungszeichen wandelt Amazon Keyspaces alle Großbuchstaben in Kleinbuchstaben um. |
"MY_UDT"
|
MY_UDT |
Bei doppelten Anführungszeichen berücksichtigt Amazon Keyspaces die Großbuchstaben und entfernt die doppelten Anführungszeichen aus dem formatierten Namen. |
"1234"
|
1234 |
Bei doppelten Anführungszeichen kann der Name mit einer Zahl beginnen, und Amazon Keyspaces entfernt die doppelten Anführungszeichen aus dem formatierten Namen. |
"Special_Ch@r@cters<>!!"
|
Special_Ch@r@cters<>!! |
Bei doppelten Anführungszeichen kann der Name Sonderzeichen enthalten, und Amazon Keyspaces entfernt die doppelten Anführungszeichen aus dem formatierten Namen. |
"nested""""""quotes"
|
nested"""quotes |
Amazon Keyspaces entfernt die äußeren doppelten Anführungszeichen und die doppelten Escape-Anführungszeichen aus dem formatierten Namen. |
Beispiele
CREATE TYPE my_keyspace.phone ( country_code int, number text );
Sie können UDTs verschachteln, wenn das verschachtelte UDT eingefroren ist. Weitere Informationen zu Standardwerten und Kontingenten für Typen finden Sie unter Amazon Keyspaces UDT-Kontingente und Standardwerte.
CREATE TYPE my_keyspace.user ( first_name text, last_name text, phones FROZEN<phone> );
Weitere Codebeispiele, die zeigen, wie UDTs erstellt werden, finden Sie unter User-defined Typen (UDTs) in Amazon Keyspaces.
DROP TYPE
Benutze das DROP TYPE Anweisung, um ein UDT zu löschen. Sie können nur einen Typ löschen, der nicht von einem anderen Typ oder einer anderen Tabelle verwendet wird.
Syntax
drop_type_statement ::= DROP TYPE [ IF EXISTS ] udt_name
Wobei Folgendes gilt:
-
IF EXISTSverhindertDROP TYPEdaran zu scheitern, wenn der Typ nicht existiert. (Optional) -
udt_nameist der vollqualifizierte Name des UDT im Typformat, zum Beispielmy_keyspace.my_type. Wenn Sie den aktuellen Schlüsselraum mit dem definierenUSEAnweisung, Sie müssen den Schlüsselraumnamen nicht angeben.
Beispiel
DROP TYPE udt_name;