现在我有表 ke11 和ke12 可以通过aaz278来进行关联,这个字段在两个表中的值是唯一的(没有建立唯一性约束,也不是主键,且两张表都没有主键) 现在有字段 ake001 ke11和ke12都有,但是有些数据对应不上,现在想把 ke12中的ake001 更新到ke11中,在网上找的一些语句测试都没用。 新人求帮助 

解决方案 »

  1.   

    merge into ke11 k1
    using ke12 k2
    on (k1.aaz278 = k2.aaz278)
    when matched then
      update set k1 = ake001 = k2.ake001;
    --aaz278建主键或唯一索引,可以加快更新速度
      

  2.   


    我这里提示无法在源数据获得稳定行。 (执行4秒之后出现这种问题,是因为我的数据可能有重复的问题吗?)
    另外还有个不情之请,能不能再写几个其它的例子 merge 今天还是第一次见。
      

  3.   

    用mergemerge into ke11 a 
    using  ke12 b 
    on a.aaz278 = b.aaz278
    when matched then 
      update set a.ake001  = b.ake001
      
      

  4.   

    merge 就是 带条件的 update 或  insert 操作大致语法是这样的。。 merge into a  -- 目标表,,你要update或insert的那张表
    using b 
    on a.id = b.id  -- 符合的条件
    when matched then   -- 查找到符合条件的数据时更新 
       update set ...
    when not matched then --没有查找到是insert 
      insert .....values ...
      

  5.   

    无法获取稳定的数据。那你用存储过程把,,,查找匹配数据然后循环update..