我正在开发一个WPF,C#项目并使用SQL Server 2008.我有一个表Student_2012_2013,它有一个名为'class'的varchar(10)列。我需要在每年年底更新学生的课程。例如,如果该类是“幼儿园”,则应更新为“LKG”,如果是“LKG”,则应更新为“UKG”,“UKG”应更新为“1”,“1”到'2'依此类推到'11'到'12'。
我可以在一个UPDATE查询中执行此操作,还是需要触发15个不同的更新查询?
答案 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