一个表里面有多条语句要更新,如果用for循环,循环几次就会更新几次,但是同时就会访问几次数据库.
如果数据量很大就会对数据库造成很大的压力.请问update有没有跟insert那样先和select拼接SQL,然后只提交数据到数据库一次的写法?在线等
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 ...等等
这样就可以批量更新。
首先update语句不像insert语句一样可以一句就可以搞定批量的,你如果要做批量修改数据,假如你是用对象处理的话就像装入一个集合中,最后在修改即可。批量修改,你可以自己组装sql,如:update a set a.a=1 where a.id in(1,2,3,4),这样一条sql也可以修改多条数据的
你用的什么语言?如果用的C#,有批量更新的,SQL执行应该是二进制更新的,肯定不是语句,
关联更新啊,
UPDATE A
SET A.field = B.field
from table A
inner join table B
ON A.field = b.field