用游标,设个变量t=11
循环里t:=t+1;
再判断rowno=0时,update
大体思路就这样,
我是抛砖引玉.

解决方案 »

  1.   

    楼上的思路正确,也可以考虑用一个update来完成
      

  2.   

    qiaozhiwei(乔) 
    一个update怎么执行?UPDATE TABLE SET ROWNO = 
    ( SELECT 10 + COUNT(ROWNO) FROM TABLE WHERE ROWNO = 0 )
    WHERE ROWNO = 0这样的话,就全部都更新了。
      

  3.   

    UPDATE TABLE A SET ROWNO = 
    ( SELECT 10 + COUNT(ROWNO) FROM TABLE B WHERE ROWNO = 0 
      AND A.ROWID >= B.ROWID )
    WHERE ROWNO = 0这样就可以了。
      

  4.   

    楼上的不行吧,单行子查询返回多个值
    用游标的话,好像还必须用个关键字段来关联才好。
    declare
    cursor mycur is  select rownum+10 rn,aa from tb where rowno=0;
    num tb.rowno%type;
    v_aa tb.aa%type;
    begin
    open mycur;
    fetch mycur into num,v_aa;
    while(mycur%found) loop
    update tb_ora8 set rowno=num where aa=v_aa;
    fetch mycur into num,v_aa;
    end loop;
    close mycur;
    end;
      

  5.   

    哈哈,搞定了,谢谢大家,特别是bisliu(努力学习oracle!) ,用你的方法可以实现:)结帖