update table set qty=(select sum(A.qty) from table A where A.id<Table.id);

解决方案 »

  1.   

    所举例子是最简单的,其实ID 是没有规律的, A.id<Table.id 似乎就不能这样写了,计算也是没有规律的,例如,不是求和,而是一个复杂的公式,如id=1的数据*10  +  id=2的数据,这样的  话,语句应该怎样写?   
    只能使用过程,事先将id=1 id=2 的数据(qty 可能多列)存储到一组嵌套表中,运算后的结果再写到id=3 的数据中,若这样的话,语句怎样写才简捷?
      

  2.   

    oracle不是用來做復雜運算的。
    做好適合做的事情就是好的。
      

  3.   

    如果一点规律都没有的话,不可能作出SQL语句的。
    做存储过程就可以了。
      

  4.   

    对,同意snowy_howe(天下有雪) 的说法