ORA的两个用户ds和ds1,中有两个表结构一样的表:A 和 B 关键字都为 c
我要将B表中关键字和A表中的关键字一样的资料UPDATE到A表中,该怎么下SQL啊?忘高手赐教!

解决方案 »

  1.   

    update a
    set (col1,col2,col3...)=(select col1,col2,col3... 
    from  b
    where a.C=b.C)
      

  2.   

    我的理解是这样的:用户ds中有个表:A ,用户ds1中有表 B ,这两个表的结构一样而且关键字都为 c,
    题目要求:把A,B中的两个表中关键字C一样的纪录更新到A表中。
    我的理解是不是有错?
      

  3.   

    UPDATE A T1 SET (T1.A,T1.B,T1.C)=
    (SELECT T2.A,T2.B,T2.C FROM DS1.B T2 WHERE T1.C=T2.C)
    WHERE EXISTS (SELECT A,B,C FROM DS1.B WHERE T1.C=C);
      

  4.   

    LZ能否确定:关键字C而且又是唯一键?
               如果不是唯一键的话, 上面的UPDATE写法不成立, 要用PL/SQL来UPDATE数据
      

  5.   

    如果不唯一,用上面的UPDATE就可以了