举例说明:
UPDATE Table SET value=(22,55,99) WHERE id IN (2,5,9)
因此,id=2
的行,value
设置为 22
。并且 id=5
的行,value
设置为 55
。等等
最佳答案
您可以使用派生表:
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
对我来说,这是最优雅的方式,而且它也很容易扩展(如果您愿意,您可以添加更多列)
关于sql - 是否可以从键/值对更新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632765/