一个UPDATE中的多个更新条件

时间:2013-03-11 07:32:59

标签: c# sql wpf visual-studio-2010 sql-update

我正在开发一个WPF,C#项目并使用SQL Server 2008.我有一个表Student_2012_2013,它有一个名为'class'的varchar(10)列。我需要在每年年底更新学生的课程。例如,如果该类是“幼儿园”,则应更新为“LKG”,如果是“LKG”,则应更新为“UKG”,“UKG”应更新为“1”,“1”到'2'依此类推到'11'到'12'。

我可以在一个UPDATE查询中执行此操作,还是需要触发15个不同的更新查询?

2 个答案:

答案 0 :(得分:3)

你可以使用CASE

UPDATE  Student_2012_2013
SET     class = CASE WHEN class = 'Nursery' THEN 'LKG' 
                    WHEN class = 'LKG' THEN 'UKG'
                    WHEN class = 'UKG' THEN '1'
                    // WHEN ... continue with your conditions...
                    ELSE class // if it doesn't match to any condition
                 END

答案 1 :(得分:2)

使用case语句更新表中的class列。例如:

Update Student_2012_2013 
set class = CASE 
        WHEN (CLASS = "NURSERY) THEN "LKG"
        WHEN (CLASS="LKG")THEN "UKG"
        ELSE "DEFAULT"
    END