sql server如何批量更新数据。

一张表,根据id更新value,当然有多个id对应着多个value。。每个value值都是没有规律的。... 一张表,根据id更新value,当然有多个id对应着多个value。。每个value值都是没有规律的。 展开
 我来答
badkano
2013-09-09 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部
update 表名 set value=case when id=1 then 一个值
                           when id=2 then 一个值 
                            when id=3 then 一个值 else value 
                                             end

上边就是举个例子,意思是,当id=1时,把value设定个值,当id=2时,value设定另一个值,依次类推,不需要更改的保留原来的value值,最后以end结尾

追问
有没有方法绕过那些不需要修改的id呢?感觉就是整张表都更新了一遍。。效率有点慢
追答
update 表名 set value=case when id=1 then 一个值 
when id=2 then 一个值     
when id=3 then 一个值 else value  end     
where id in (1,2,3)

 

后边加个where 条件就绕过去了

糖糖寳寳
2015-09-11 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3900万
展开全部
declare @cnt int
select @cnt = count(1) from A
while(@cnt > 0)
begin
--更新
set @cnt = @cnt - 1
end
做个临时表放置标识字段跟状态,对满足某个状态的批量update。
索引可以优化查询,update跟delete这种操作反而会破坏索引。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nchsxx234
2013-09-09 · TA获得超过411个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:98.2万
展开全部
可以根据你的需求写一个存储过程或者触发器,把你的更新内容value写在一个串或者什么里面存储,每次就改这个位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cygcyg201061ad7
2013-09-09 · TA获得超过1433个赞
知道小有建树答主
回答量:1086
采纳率:58%
帮助的人:534万
展开全部
把这张表;也导入SQL;再用来更新

UPDATE 要根据的表 SET 更新的字段 FROM 要更新的表 A LEFT 导入SQL的表 AS B
ON A.ID =B.ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文走520
2013-09-09 · TA获得超过525个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:171万
展开全部
用Excel辅助,请参考:http://zhidao.baidu.com/question/534961343.html?oldq=1

如有疑问,请追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式