我已经获得了对表格所做的更改列表。我想知道如何在一个脚本中进行所有更改...我已经尝试了以下
UPDATE tableA
SET col1 = 'somedata' WHERE col2 = 'somereference'
SET col1 = 'someotherdata' WHERE col2 = 'someotherreference'
SET col1 = 'evenmoredata' WHERE col2 = 'anotherreference'
但这不起作用。我是否可以使用特定的语法来实现这一目标,或者我坚持这样做: -
UPDATE tableA
SET col1 = 'somedata' WHERE col2 = 'somereference'
UPDATE tableA
SET col1 = 'someotherdata' WHERE col2 = 'someotherreference'
我想做的每一项改变?
答案 0 :(得分:1)
在单一集合语句中使用case语句:
UPDATE tableA
SET col1 = case col2
when 'somereference' then 'somedata'
when 'someotherreference' then 'someotherdata'
when 'anotherreference' then 'evenmoredata'
else col1
end
最好把原始值的默认值包含在你使用mis-fires的where子句中(无论如何你应该使用where子句,否则你将更新所有行)