¿Cómo actualizar varios registros usando una consulta en SQL Server?

En SQL, a veces necesitamos actualizar varios registros en una sola consulta. Usaremos la palabra clave UPDATE para lograr esto. Para esto, usamos 2 tipos de ejemplos, es decir, el primero basado en una sola condición y el segundo basado en múltiples condiciones. Para este artículo, usaremos Microsoft SQL Server como nuestra base de datos y seleccionaremos la palabra clave.

Paso 1: crear una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksForGeeks.

Consulta:

CREATE DATABASE GeeksForGeeks

Producción:

Paso 2: use la base de datos GeeksForGeeks. Para esto, use el siguiente comando.

Consulta:

USE GeeksForGeeks

Producción:

Paso 3: Crea una tabla de BANDAS dentro de la base de datos GeeksForGeeks. Esta tabla tiene 3 columnas, a saber, BAND_NAME, PERFORMING_COST y NUMBER_OF_MEMBERS que contienen los nombres, los cargos por la interpretación y el número de miembros de una banda.

Consulta:

CREATE TABLE BANDS(
BAND_NAME VARCHAR(20),
PERFORMING_COST INT,
NUMBER_OF_MEMBERS INT);

Producción:

Paso 4: Describe la estructura de la tabla BANDAS.

Consulta:

EXEC SP_COLUMNS BANDS;

Producción:

Paso 5: Inserte 5 filas en la tabla BANDAS.

Consulta:

INSERT INTO BANDS VALUES('INDIAN OCEAN',10000,5);
INSERT INTO BANDS VALUES('BTS',20000,6);
INSERT INTO BANDS VALUES('METALLICA',30000,10);
INSERT INTO BANDS VALUES('BEATLES',40000,4);
INSERT INTO BANDS VALUES('EAGLES',50000,4);

Producción:

Paso 6: Muestre todas las filas de la tabla BANDAS.

Consulta:

SELECT * FROM BANDS;

Producción:

Paso 7: Actualice todos los registros de la tabla BANDAS que cumplan una sola condición. La condición aquí es que el valor de la columna NÚMERO_DE_MIEMBROS debe ser inferior a 5. Si se cumple la condición, el valor de la columna COSTE_DE_RENDIMIENTO se duplica. Utilice la palabra clave ACTUALIZAR y DÓNDE para lograrlo.

Sintaxis:

UPDATE TABLE_NAME SET COLUMN_NAME
= VALUE WHERE CONDITION;

Consulta:

UPDATE BANDS SET PERFORMING_COST = 
2*PERFORMING_COST WHERE NUMBER_OF_MEMBERS<=5;

Producción:

Paso 8: Muestre todas las filas de la tabla FIRM actualizada.

Consulta:

SELECT * FROM BANDS;

Nota: El PERFORMING_COST se ha duplicado para las bandas que tienen NUMBER_OF_MEMBERS <=5.

Producción:

Paso 9: Actualice todos los registros de la tabla BANDS que cumplan dos (múltiples) condiciones. La condición aquí es que si BAND_NAME es ‘METALLICA’, entonces su PERFORMING_COST se establece en 90000 y si BAND_NAME es ‘BTS’, entonces su PERFORMING_COST se establece en 200000. Use la palabra clave ACTUALIZAR y CUÁNDO para lograr esto. Esta consulta se comporta como un bloque if-else if-else.

Sintaxis:

UPDATE TABLE_NAME
SET COLUMN_VALUE 
= CASE COLUMN_NAME
WHEN 'COLUMN_NAME1' THEN COLUMN_VALUE1
WHEN 'COLUMN_NAME2' THEN COLUMN_VALUE2
ELSE COLUMN_VALUE
END
WHERE BAND_NAME IN('COLUMN_NAME1', 'COLUMN_NAME2');

Consulta:

UPDATE BANDS
SET PERFORMING_COST 
= CASE BAND_NAME
WHEN 'METALLICA' THEN 90000
WHEN 'BTS' THEN 200000
ELSE PERFORMING_COST
END
WHERE BAND_NAME IN('METALLICA', 'BTS');

Producción:

Paso 10: Muestre todas las filas de la tabla FIRM actualizada.

Consulta:

SELECT * FROM BANDS;

Nota: El PERFORMING_COST para METALLICA y BTS se actualizó a 90000 y 200000 respectivamente.

Producción:

Publicación traducida automáticamente

Artículo escrito por abhisri459 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 *