条件更新sql查询错误

时间:2011-05-12 15:57:11

标签: sql

update contentpagenav
set active = case
                when active = 0 then active = 1
                when active = 1 then active = 0
         end

我收到以下错误

  

Msg 102,Level 15,State 1,Line 3   '='附近的语法不正确。

2 个答案:

答案 0 :(得分:6)

无需在当时重新分配活动,“set active =”正在这样做。

   update contentpagenav
       set active =   case
                when active = 0 then 1
                when active = 1 then 0
                    end

答案 1 :(得分:0)

执行此操作的简单方法不是针对案例:

UPDATE contentpagenav SET active = 1-active;

如果您正在简化您的问题(您出于某种原因需要使用CASE):

UPDATE contentpagenav SET active = CASE active
     WHEN 1 THEN 0 
     ELSE THEN 1
END;

如果有两个以上可能的值:

UPDATE contentpagenav SET active = CASE active
     WHEN 1 THEN 0
     WHEN 0 THEN 1
     WHEN 2 THEN ...
     ELSE ...
END;