Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tipos definidos por el usuario () UDTs
UDT: agrupación de campos y tipos de datos que puede utilizar para definir una sola columna en Amazon Keyspaces. Los tipos de datos válidos UDTs son todos los tipos de datos de Cassandra compatibles, incluidas las colecciones y otros UDTs que ya haya creado en el mismo espacio de claves. Para obtener más información sobre los tipos de datos de Cassandra compatibles, consulte. Compatibilidad con tipos de datos de Cassandra
user_defined_type::= udt_name udt_name::= [ keyspace_name '.' ] identifier
Declaraciones para los tipos
CREATE TYPE
Utilice la CREATE TYPE sentencia para crear un tipo nuevo.
Sintaxis
create_type_statement ::= CREATE TYPE [ IF NOT EXISTS ] udt_name '('field_definition ( ',' field_definition)* ')' field_definition::= identifier cql_type
Donde:
-
IF NOT EXISTSCREATE TYPEevita que se produzca un error si el tipo ya existe. (Opcional) -
udt_namees el nombre completo de la UDT en formato tipográfico, por ejemplo.my_keyspace.my_typeSi define el espacio de claves actual con laUSEinstrucción, no necesita especificar el nombre del espacio de claves. field_definitionconsta de un nombre y un tipo.
En la tabla siguiente se muestran ejemplos de nombres de UDT permitidos. La primera columna muestra cómo ingresar el nombre al crear el tipo y la segunda columna muestra cómo Amazon Keyspaces formatea el nombre internamente. Amazon Keyspaces espera el nombre formateado para operaciones como GetType.
| Nombre ingresado | Nombre formateado | Nota |
|---|---|---|
MY_UDT
|
my_udt |
Sin comillas dobles, Amazon Keyspaces convierte todos los caracteres en mayúsculas en minúsculas. |
"MY_UDT"
|
MY_UDT |
Con las comillas dobles, Amazon Keyspaces respeta los caracteres en mayúscula y elimina las comillas dobles del nombre formateado. |
"1234"
|
1234 |
Con comillas dobles, el nombre puede empezar por un número y Amazon Keyspaces elimina las comillas dobles del nombre formateado. |
"Special_Ch@r@cters<>!!"
|
Special_Ch@r@cters<>!! |
Con comillas dobles, el nombre puede contener caracteres especiales y Amazon Keyspaces elimina las comillas dobles del nombre formateado. |
"nested""""""quotes"
|
nested"""quotes |
Amazon Keyspaces elimina las comillas dobles exteriores y las comillas dobles de escape del nombre formateado. |
Ejemplos
CREATE TYPE my_keyspace.phone ( country_code int, number text );
Puedes anidar UDTs si la UDT anidada está congelada. Para obtener más información sobre los valores predeterminados y las cuotas de los tipos, consulte. Cuotas de UDT y valores predeterminados de Amazon Keyspaces
CREATE TYPE my_keyspace.user ( first_name text, last_name text, phones FROZEN<phone> );
Para ver más ejemplos de código que muestran cómo crear UDTs, consulteTipos definidos por el usuario (UDTs) en Amazon Keyspaces.
DROP TYPE
Utilice la DROP TYPE sentencia para eliminar una UDT. Solo puede eliminar un tipo que no esté siendo utilizado por otro tipo o tabla.
Sintaxis
drop_type_statement ::= DROP TYPE [ IF EXISTS ] udt_name
Donde:
-
IF EXISTSDROP TYPEevita que se produzca un error si el tipo no existe. (Opcional) -
udt_namees el nombre completo de la UDT en formato tipográfico, por ejemplo.my_keyspace.my_typeSi define el espacio de claves actual con laUSEinstrucción, no necesita especificar el nombre del espacio de claves.
Ejemplo
DROP TYPE udt_name;