数据库数据如下 ,每个id有三个记录,order(1 2 3)标记     num       id     order  资料 
1 4027 1330 1 **********
2 4028 1330 2 ********
3 4029 1330 3 ********
4 4036 1333 1 ********
5 4037 1333 2 ********
6 4038 1333 3 ********
7 4045 1336 1 ********
8 4046 1336 2 ********
9 4047 1336 3 ********
。我想每个id号后加4和5的记录,怎么加???

解决方案 »

  1.   

    insert into t1 select id, max(vorder)+1 from t1 group by id;create table t1(id number, vorder number);
    insert into t1 values(100,1);
    insert into t1 values(100,2);
    insert into t1 values(101,1);insert into t1 select id, max(vorder)+1 from t1 group by id;
    SQL> select * from t1;        ID     VORDER
    ---------- ----------
           100          1
           100          2
           101          1
           100          3
           101          2insert into t1 select id, max(vorder)+1 from t1 group by id;SQL> select * from t1;        ID     VORDER
    ---------- ----------
           100          1
           100          2
           101          1
           100          3
           101          2
           100          4
           101          37 rows selectedExecuted in 1.093 seconds
      

  2.   

    insert into table1 
      select '标记','num',id,order+3,'资料' from table1 where order<3
    即可
    除了id和order+3外,其他的字段值你根据要求自己设
    标记字段最好有序列,用seqname.nextval代替'标记'
      

  3.   

    INSERT INTO tabname(标记, num, id, order)
      SELECT 标记, num+order, id, order+3
        FROM tabname 
       WHERE ORDER IN (1, 2)