首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

简单的有关问题

2012-01-10 
简单的问题用a表的val26这个字段更新b表的val1这个字段,表的行数是一样的,也就是对应行赋值。我这么写不行,

简单的问题
用a表的val26这个字段更新b表的val1这个字段,表的行数是一样的,也就是对应行赋值。我这么写不行,update   b   set   val1=(select   val26   from   a),请大家指点我,谢谢

[解决办法]
应该是少了where条件
[解决办法]
起码应该有 a.pk = b.pk 吧,不然怎么匹配记录呢
[解决办法]
update b set val1 = (select val26 from a where a.pk_column = b.pk_column)

[解决办法]
那就应该是4W*4W,想一下有多少吧
[解决办法]
这要看实际情况,如果只更新部分数据,我通常这样做:
update b set val1 = (select val26 from a where a.pk_column = b.pk_column)
where b.pk_column in(select pk_column from a);

速度确实会存在差别的.

[解决办法]
没办法.数据多还是写索引比较快.
更新是要很长时间.没问题的.慢慢等好了.

热点排行
Bad Request.