Spiegare l'esempio:È possibile aggiornare le righe da una coppia chiave/valore?
UPDATE Table SET value=(22,55,99) WHERE id IN (2,5,9)
Quindi la riga con id=2
, value
è impostato 22
. E la riga con id=5
, value
è impostata su 55
. Ecc
Spiegare l'esempio:È possibile aggiornare le righe da una coppia chiave/valore?
UPDATE Table SET value=(22,55,99) WHERE id IN (2,5,9)
Quindi la riga con id=2
, value
è impostato 22
. E la riga con id=5
, value
è impostata su 55
. Ecc
È possibile utilizzare tabella derivata:
update t set
value = a.value
from Table as t
inner join (values
(22, 2),
(55, 5),
(99, 9)
) as a(id, value) on a.id = t.id
Per me questo è il modo più elegante per farlo ed è anche facilmente allungabile (puoi aggiungere più colonne se preferisci)
Sì, ma non come si deve:
UPDATE Table
SET value=case when id=2 then 22 when id=5 then 55 when id=9 then 99 end
WHERE id in (2,5,9)
Se dovete fare questo per un gran numero di campi/record, si sarebbe meglio solo l'emissione di una serie di interrogazioni dedicato update
.
utilizzare un'espressione CASE
di scegliere valore di aggiornamento:
UPDATE Table SET value = case id when 2 then 22
when 5 then 55
when 9 then 99
end
WHERE id IN (2,5,9)