我想更新A表中的一些数据大约是700多条,需要再用A表中的一些字段来更新,例如:update a set a.A,a.B,a.C = a.D,a.E,a.F where a.id = a.id update语句应该怎么样写,谢谢,在线等答复!

解决方案 »

  1.   

    update a t01 set(t01.col1,...,字段列表) = (select t02.col1,...,字段列表 from a t02 where 条件)
      

  2.   

    where条件后面加上rownum = 1
      

  3.   

    更新700多行数据啊,rownum=1只更新了一行 唉
      

  4.   

    不是,where ... and rownum = 1写在括号里面。我经常这样更新数据表的。
      

  5.   

    给你一个差不多类似的例子,我原来写的更新语句:
    update dwledger t01
       set per_balance = (select sum(s_dmbtr - h_dmbtr) AA
                            from dwledger t02
                           where to_number(substr(t02.budat, 1, 6)) <
                                 to_number(substr(t01.budat, 1, 6))
                             and t01.hkont = t02.hkont
                             and (t01.kunnr = t02.kunnr or t01.lifnr = t02.lifnr));
      

  6.   

    唉 你那个办法还是不行 不过我已经写出来了 中间加上关联就行,不能加rownum 加上所有的都更新成第一条的数据了 唉。