Het is niet dat de CASE moet meer dan één hebben, WHEN...THEN , het is dat het alle gegevens moet verwerken die je het geeft.
Als je een van de clausules hebt verwijderd, laat je een gat achter. bijv.
UPDATE partsList SET quantity =
CASE
WHEN partFK = 1 THEN 4
END
WHERE buildFK = 1;
Met deze update-instructie, als parkFK is 2, dan mislukt de update omdat de CASE de invoer niet aankan.
U kunt uw brongegevens beperken door een andere regel toe te voegen aan uw waar-clausule (bijv. AND partFK in (1,2) ), of u kunt een ELSE . toevoegen naar de hoofdletteruitdrukking.
UPDATE partsList SET quantity =
CASE
WHEN partFK = 1 THEN 4
WHEN partFK = 2 THEN 8
ELSE 12
END
WHERE buildFK = 1;
Op basis van de SQL-instructie die u hebt getoond, is er echter waarschijnlijk een betere manier. Vermoedelijk is partFK een refererende sleutel naar een andere tabel. Kun je de waarde ophalen voor quantity vanaf daar?