更新字段值语句求助

lyh334 2008-10-08 01:21:05
现在有两个表a和b
a表中有ID和X两个字段,其中ID有值,X字段的值都是空的。
b表中有ID和V两个字段,这两个字段都有值

现在想把b表中的V字段的值更新到a表的X字段中,要求b表中的ID与a表中的ID相等的才能更新X值。

我写的语句如下:

update b set X=
(select a.v
from a
where a.id = b.id);

请各位看一下我这样写的语句对不对。我在执行过程中,时间太长,过了半个小时还没有执行完。总共有20万数据。
如果我写的没有问题,各位帮忙给优化一下。谢谢。非常着急
...全文
70 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mantisXF 2008-10-08
  • 打赏
  • 举报
回复
-- TRY IT ..
UPDATE A
SET X = (SELECT B.V
FROM B
WHERE A.ID = B.ID)
WHERE EXISTS (SELECT 1
FROM B
WHERE A.ID = B.ID);
lyh334 2008-10-08
  • 打赏
  • 举报
回复
不好意思,是我写错了。

update a set X=
(select b.v
from b
where a.id = b.id);

这个执行了半个多小时了,还没执行完。是什么问题?
范佩西_11 2008-10-08
  • 打赏
  • 举报
回复
update a set X=
(select b.v
from b
where a.id = b.id)

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧