一条sql语句实现批量修改功能

修改table表中的flag字段,让id = ‘123’的一条记录flag = '1', 其他的记录全设置为flag = '0'。sql大概的意思是这样的 update table set flag = '1' where id = '123' , set flag = '0' where id <> ‘123’ ;这个语句不好使,就想一条sql能实现这个功能

可以用case。如:

update table set flag = case when id = '123' then '1' else '0' end

一条语句执行两个update,我唯一的想法就是写存储过程。。。。begin

UPDATE table SET flag = CASE when id = '123' then '1' when id not in( '123') then '0' end