首页 新闻 会员 周边 捐助

关于update语句 批量更新

0
[已解决问题] 解决于 2016-07-05 09:57

一个表里面有多条语句要更新,如果用for循环,循环几次就会更新几次,但是同时就会访问几次数据库.

如果数据量很大就会对数据库造成很大的压力.请问update有没有跟insert那样先和select拼接SQL,然后只提交数据到数据库一次的写法?在线等

JaneEyreWork的主页 JaneEyreWork | 初学一级 | 园豆:11
提问于:2016-06-02 13:50
< >
分享
最佳答案
-1

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 ...等等

这样就可以批量更新。

奖励园豆:5
Christopher—高 | 菜鸟二级 |园豆:209 | 2016-06-03 18:09
其他回答(3)
0

首先update语句不像insert语句一样可以一句就可以搞定批量的,你如果要做批量修改数据,假如你是用对象处理的话就像装入一个集合中,最后在修改即可。批量修改,你可以自己组装sql,如:update a set a.a=1 where a.id in(1,2,3,4),这样一条sql也可以修改多条数据的

全力以赴001 | 园豆:629 (小虾三级) | 2016-06-02 15:36
0

你用的什么语言?如果用的C#,有批量更新的,SQL执行应该是二进制更新的,肯定不是语句,

fxyc87 | 园豆:153 (初学一级) | 2016-06-03 12:53
0

关联更新啊,

UPDATE A

SET A.field = B.field

from table A

inner join table B

ON A.field = b.field

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2016-06-10 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册