sql根据每行中的值更新许多行

时间:2011-12-30 19:10:12

标签: sql sql-server-2008-r2

我有一个非常低效的sql脚本,它接受下表,并使用游标填充val2。我希望能够通过单次更新更新所有val2值,但是每行使用val1计算val2。

val1: 1, val2 0
val1: 2, val2 0 
val1: 3, val2 0
val1: 4, val2 0
val1: 5, val2 0

所以我想,你会有这样的事情:

UPDATE Table SET val2 = (some code based on val1 for each row)

如何将其写入一行sql?

1 个答案:

答案 0 :(得分:5)

update table set val2 = val1 + 1

就像这样!如果您有一组代码要通过case语句应用:

update table set
    val2 = 
        case 
            when val1 = 1 then 'One'
            when val1 = 2 then 'Two'
            when val1 = 3 then 'Three'
            else 'Something something'
        end