日期:2014-05-17  浏览次数:20786 次

如何更新oracle中某一列
项目迁移,其实是2个一样的表,但是在不同的数据库上,
原始 A表 有 id ,k1,k2,k3字段
现在的新表B表有id ,k1,k2,现在加上k3列,但是目前k3列都是0,需要和原始A表k3列内容一样,A表和B表ID是一样的。

SQL code
update B t1 set t1.k3=t2.k3 from (select * from A@db_link) t2 where t1.id=t2.id
报错,貌似是link的问题。

------解决方案--------------------
SQL code

--首先检查你的db_link是否能正常连通,如果能连通的话执行下面语句
update B t1
    set t1.k3 = (select t2.k3 from A@db_link t2 where t1.id = t2.id)
  where exists (select 1 from A@db_link t2 where t1.id = t2.id)