create sequence SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 1000
increment by 1
cache 30
order;insert into C(aid, aname, bid, bname, key, num) 
select aid, aname, bid, bname, a.key,seq.nextval
from a,b
where a.key=b.key

解决方案 »

  1.   

    insert into c
    select w.aid,w.aname,w.bid,w.bname,w.key,rownum +1000
    from(
    select a.aid,a.aname,a.bid,a.bname,b.key
    from a,b
    where a.key = b.key) w
      

  2.   

    insert into c
    select a.aid,a.aname,a.bid,a.bname,b.key,rownum + 999
    from a,b
    where a.key = b.key
      

  3.   

    create procedure pro_c as
      begin
      create sequence sequence_num
        start with 1000
        increment by 1;
        insert into c(aid, aname, bid, bname, key, num) 
          select a.aid, a.aname, b.bid, b.bname, c.key,sequence_num.nextval from a, b 
            where a.key=b.key;
        commit;
    end pro_c;