View a markdown version of this page

User-defined Typen (UDTs) - Amazon Keyspaces (für Apache Cassandra)

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 EXISTS verhindert CREATE TYPE daran zu scheitern, wenn der Typ bereits existiert. (Optional)

  • udt_name ist der vollqualifizierte Name des UDT im Typformat, zum Beispiel my_keyspace.my_type. Wenn Sie den aktuellen Schlüsselraum mit dem definieren USE Anweisung, Sie müssen den Schlüsselraumnamen nicht angeben.

  • field_definition besteht 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 EXISTS verhindert DROP TYPE daran zu scheitern, wenn der Typ nicht existiert. (Optional)

  • udt_name ist der vollqualifizierte Name des UDT im Typformat, zum Beispiel my_keyspace.my_type. Wenn Sie den aktuellen Schlüsselraum mit dem definieren USE Anweisung, Sie müssen den Schlüsselraumnamen nicht angeben.

Beispiel

DROP TYPE udt_name;