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