问题描述:一次性修改表内数据,每条数据都有指定的值
表字段展示:Id,Name
sql serve 语句:
update tableName set Name= case Id when 1 then '第一' else '' end
//拆解
update tableName //表名称
set Name= //希望修改的列
case Id //条件约束
when 1 then '第一' //如果case 后面没有列名,那么此处应该写为 when Id=1 then '第一'
else '' end //如果字段不能为空,记得一定要写上else
//上述语句表达的是: 修改表中的Name字段的值,Id=1的字段的Name修改为‘第一’,其他的都设置为空
//C# 拼接sql
var sql = $"update tableName set Name = case Id ";
foreach (var item in dic)
{
sql += $" when {item.Key} then {item.Value}";
}
sql += $" else 0 end";
return _Repository.GetConnection().Execute(sql);
完结撒花~