怎样批量更新这种超大数据的表
表结构
项目名称中1代表出租的,2租出的
数据是随便输入的.
农户代码,项目名称,水田面积,旱地面积
0001 1 4 3
0001 2 3 1
0002 1 2 0.5
0002 2 5 0.25
0003 1 2 .8
0003 2 6 1.1
........
........
假设现将所有农户项目1的水田面积更新为以对应项目的所有面积*1.2;
旱地地面积更新为以对应项目的所有面积*1.4
项目2的水田面积更新为以对应项目的所有面积*1.3;
旱地面积更新为以对应项目的所有面积*1.5
既是这样:
农户代码,项目名称,水田面积,旱地面积
0001 1 7*1.2 7*1.4
0001 2 4*1.3 4*1.5
0002 1 2.5*1.2 2.5*1.4
0002 2 5.25*1.3 5.25*1.5
0003 1 2.8*1.2 2.8*1.4
0003 2 7.1*1.3 7.1*1.5
........
........
------解决方案--------------------就这样?
应该不会慢吧,操作很简单啊
------解决方案--------------------更新按照什么规律啊?
------解决方案--------------------表没有主键?
------解决方案--------------------update table1 set 水田面积=
case 项目名称
when 1 then (水田面积+旱地面积)*1.2
when 2 then (水田面积+旱地面积)*1.3
else 水田面积
end
,旱地面积 =
case 项目名称
when 1 then (水田面积+旱地面积)*1.4
when 2 then (水田面积+旱地面积)*1.5
else 旱地面积
end
不过如果数据太大,1亿,够受的。
------解决方案--------------------update table1 set 水田面积=
case
when 项目名称 = 1 then (水田面积+旱地面积)*1.2
when 项目名称 =2 then (水田面积+旱地面积)*1.3
else 水田面积
end
,旱地面积 =
case
when 项目名称 = 1 then (水田面积+旱地面积)*1.4
when 项目名称 = 2 then (水田面积+旱地面积)*1.5
else 旱地面积
end