如何使用一条sql更新同一字段多个值?

idvalue15263748现在我想用update语句比如:update表1setvalue=(11,12,15,17)whereid=(1,2,3,4)意思是想把va... id value
1 5
2 6
3 7
4 8

现在我想用update语句
比如:
update 表1 set value = (11,12,15,17) where id = (1,2,3,4)
意思是想把value这个字段按照id的值更新为11,12,15,17
用一条sql完成,因为实际数据比较多,>=20条
展开
 我来答
帐号已注销
推荐于2020-12-19 · 超过49用户采纳过TA的回答
知道答主
回答量:118
采纳率:100%
帮助的人:114万
展开全部
可以先把新值和id 做成一个表2;然后用游标逐个更新
deckare @value int,@id int
declare s cursor for
select value,id from 表2
open s
fetch s into @value,@id
while @@fetch_status =0
begin
update 表1 set value =@value where id =@id
fetch s into @value,@id
end
close s
deallocate s
追问
你的这个方法很好,还有别的方法吗?  我这里是从另外一个数据库拿值,再到这个数据库中更新
追答
这个方法就很适合从其他数据库中拿值啊 只要在'表2'改成 '数据库..表2'就成了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-04-27
展开全部
用一条语句或以实现,就是有点长,但是执行起来应该还是可以的。

update 表名1 set value=

case
when 条件1 then 值1
......
else
......
end
这个适合比较少的更新
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wokelv
2013-10-08
知道答主
回答量:19
采纳率:0%
帮助的人:14.6万
展开全部
语句: update tabA set value = tabB.value from tabB where tabA.id = tabB.id
把tabB表value 更新到tabA表的value中
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式