Columnas de actualización condicional

En este artículo, discutiremos cómo podemos actualizar columnas de forma condicional y cómo el comando condicional IF, IF EXISTS y IF NOT EXISTS es útil para la actualización condicional.

La actualización condicional es muy útil porque la consulta devolverá los resultados en VERDADERO o FALSO y Transacción que sigue SI, SI EXISTE y SI NO EXISTE, este tipo de comando se incluye en la transacción liviana en Cassandra. Entonces, echemos un vistazo.

Si la consulta coincide con una fila, entonces el comando IF EXISTS se ejecutará con éxito y devolverá los resultados VERDADERO si la fila coincide con FALSO. Entendamos con un ejemplo.

CREATE TABLE Help_desk
(
 User_name  text,
 Request_id  uuid,
 Query_description text,
 Request_date date,
 Primary key(User_name)
); 

Ahora, inserte algunos datos en Help_desk.

INSERT INTO Help_desk (Request_id, User_name, Query_description, Request_date ) 
VALUES (uuid(), 'Ashish', ' App is not working', '2019-12-10');

INSERT INTO Help_desk (Request_id, User_name, Query_description, Request_date ) 
VALUES (uuid(), 'Rana', ' keyboard is not working', '2019-12-11');

INSERT INTO Help_desk (Request_id, User_name, Query_description, Request_date ) 
VALUES (uuid(), 'Abi', ' cpu is not working', '2019-12-13'); 

Veamos los resultados.

select * 
from Help_desk; 

Producción:

Ahora, aquí vamos a actualizar la tabla Help_desk.
Echemos un vistazo.

UPDATE Help_desk
SET Query_description = 'Resolve and closed the ticket.' 
WHERE User_name = 'Ashish'  
IF EXISTS; 

En la consulta CQL anterior, si la fila existe, devolverá verdadero.
Veamos los resultados.

Producción:

En la consulta CQL anterior, si no existe ninguna fila, devolverá verdadero.
Veamos los resultados.

 [applied]
-----------
   False 
UPDATE Help_desk
SET Request_id = uuid()
WHERE User_name = 'Ashish'
IF NOT EXISTS; 

Utilice la condición IF para aplicar pruebas a uno o más valores de columna (clave no principal) en la fila coincidente.

Ahora, aquí vamos a usar la condición IF para otros valores de columna en la fila correspondiente. Por ejemplo, para establecer un nuevo UUID solo si Request_id coincide.

UPDATE Help_desk
SET Request_id = uuid()  
WHERE User_name = 'Rana'
IF Request_id = NULL; 

Veamos los resultados.

Producción:

Aquí, vamos a verificar las pruebas de condición IF para un valor nulo, por ejemplo:

UPDATE Help_desk 
SET Request_id = uuid()  
WHERE User_name = 'Rana'
IF Request_id = NULL; 

Veamos los resultados.

Producción:

Ahora, aquí veremos el resultado de la tabla final después de todos los cambios.

Veamos los resultados.

select * 
from Help_desk; 

Producción:

Nota:

  • En el escenario anterior, solo mencionamos algunos puntos si un registro coincide y se inserta la columna Request_id sin valor.
  • Esta es la segunda observación de que si un registro coincide y la columna Request_id tiene un valor (no es nulo), la declaración falla.
  • Si no hay coincidencias de registro para las condiciones respectivas, se crea un nuevo registro.

PRECAUCIÓN: En las consultas CQL, las actualizaciones condicionales son ejemplos de transacciones ligeras e incurren en un rendimiento no despreciable que cuesta y debe usarse con moderación.

Publicación traducida automáticamente

Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *