Crear una tabla con el mapeo de SKU a nuevo tamaño; actualizar la tabla maestra de eso.
Muchos dialectos de SQL tienen una anotación para hacer actualizaciones a través de tablas unidas. Algunos no. Esto funciona cuando no hay tal notación:
CREATE TABLE SKU_Size_Map
(
SKU CHAR(16) NOT NULL,
Size INTEGER NOT NULL
);
...Populate this table with the SKU values to be set...
...You must have such a list...
UPDATE MasterTable
SET Size = (SELECT Size FROM SKU_Size_Map
WHERE MasterTable.SKU = SKU_Size_Map.Size)
WHERE SKU IN (SELECT SKU FROM SKU_Size_Map);
La principal condición WHERE se necesita para evitar el ajuste del tamaño en nulo donde no hay fila coincidente.
Probablemente también pueda hacerlo con una instrucción MERGE. Pero la información clave para cualquiera de estas notaciones es que necesita una tabla para hacer la asignación entre SKU y tamaño. O necesita una tabla o necesita un algoritmo, y los datos de muestra no sugieren un algoritmo.
y cuál sería el criterio para la actualización de varios filas a diferentes valores? –
¿Cómo podemos saber qué transformación aplicar a cada fila? –
Puede ser un poco más específico sobre la estructura de su base de datos. ¿Son cada una de esas columnas o algunos valores de columnas? –