一个表里面有多条语句要更新,如果用for循环,循环几次就会更新几次,但是同时就会访问几次数据库.
如果数据量很大就会对数据库造成很大的压力.请问update有没有跟insert那样先和select拼接SQL,然后只提交数据到数据库一次的写法?在线等
4 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
update t
set t.Column_name ='test'
from temp t
left join a on t.a_id=a.id
left join b on t.b_id = b.id
where t.id in(1,2,3) and ...等等
这样就可以批量更新。
动漫人物
TA贡献1815条经验 获得超10个赞
首先update语句不像insert语句一样可以一句就可以搞定批量的,你如果要做批量修改数据,假如你是用对象处理的话就像装入一个集合中,最后在修改即可。批量修改,你可以自己组装sql,如:update a set a.a=1 where a.id in(1,2,3,4),这样一条sql也可以修改多条数据的
慕仙森
TA贡献1827条经验 获得超8个赞
关联更新啊,
UPDATE A
SET A.field = B.field
from table A
inner join table B
ON A.field = b.field
- 4 回答
- 0 关注
- 3763 浏览
添加回答
举报
0/150
提交
取消