View a markdown version of this page

User-defined tipi (UDT) - Amazon Keyspaces (per Apache Cassandra)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

User-defined tipi (UDT)

UDT — Un gruppo di campi e tipi di dati che puoi utilizzare per definire una singola colonna in Amazon Keyspaces. I tipi di dati validi per gli UDT sono tutti i tipi di dati Cassandra supportati, comprese le raccolte e altri UDT che hai già creato nello stesso keyspace. Per ulteriori informazioni sui tipi di dati Cassandra supportati, vedi Supporto per i tipi di dati Cassandra.

user_defined_type::= udt_name udt_name::= [ keyspace_name '.' ] identifier
Dichiarazioni per tipi

CREATE TYPE

Usa il CREATE TYPE dichiarazione per creare un nuovo tipo.

Sintassi

create_type_statement ::= CREATE TYPE [ IF NOT EXISTS ] udt_name '('field_definition ( ',' field_definition)* ')' field_definition::= identifier cql_type

Dove:

  • IF NOT EXISTS impedisce CREATE TYPE non fallire se il tipo esiste già. (Facoltativo)

  • udt_name è il nome completo dell'UDT in formato di tipo, ad esempio my_keyspace.my_type. Se si definisce lo spazio chiave corrente con USE istruzione, non è necessario specificare il nome dello spazio chiave.

  • field_definition è costituito da un nome e un tipo.

La tabella seguente mostra esempi di nomi UDT consentiti. La prima colonna mostra come inserire il nome quando si crea il tipo, la seconda colonna mostra come Amazon Keyspaces formatta il nome internamente. Amazon Keyspaces prevede il nome formattato per operazioni come GetType.

Nome inserito Nome formattato Nota
MY_UDT my_udt Senza virgolette, Amazon Keyspaces converte tutti i caratteri maiuscoli in minuscoli.
"MY_UDT" MY_UDT Con le virgolette doppie, Amazon Keyspaces rispetta i caratteri maiuscoli e rimuove le virgolette doppie dal nome formattato.
"1234" 1234 Con le virgolette doppie, il nome può iniziare con un numero e Amazon Keyspaces rimuove le virgolette doppie dal nome formattato.
"Special_Ch@r@cters<>!!" Special_Ch@r@cters<>!! Con virgolette doppie, il nome può contenere caratteri speciali e Amazon Keyspaces rimuove le virgolette doppie dal nome formattato.
"nested""""""quotes" nested"""quotes Amazon Keyspaces rimuove le virgolette esterne e le virgolette di escape dal nome formattato.

Esempi

CREATE TYPE my_keyspace.phone ( country_code int, number text );

Puoi annidare gli UDT se l'UDT nidificato è bloccato. Per ulteriori informazioni sui valori e le quote predefiniti per i tipi, vedere Quote e valori predefiniti di Amazon Keyspaces UDT.

CREATE TYPE my_keyspace.user ( first_name text, last_name text, phones FROZEN<phone> );

Per altri esempi di codice che mostrano come creare UDT, vedi User-defined tipi (UDT) in Amazon Keyspaces.

DROP TYPE

Usa il DROP TYPE dichiarazione per eliminare un UDT. È possibile eliminare solo un tipo che non è utilizzato da un altro tipo o tabella.

Sintassi

drop_type_statement ::= DROP TYPE [ IF EXISTS ] udt_name

Dove:

  • IF EXISTS impedisce DROP TYPE dal fallimento se il tipo non esiste. (Facoltativo)

  • udt_name è il nome completo dell'UDT in formato di tipo, ad esempio my_keyspace.my_type. Se si definisce lo spazio chiave corrente con USE istruzione, non è necessario specificare il nome dello spazio chiave.

Esempio

DROP TYPE udt_name;