insert into ta(fid,fvalue)
select fvalue from tb
其中fid需要实现自增,该怎么写?

解决方案 »

  1.   

    不知是否可以 ...insert into ta select seq_name.nextval,fvalue from tb;
      

  2.   

    CREATE SEQUENCE s_Id
      START WITH 1
      INCREMENT BY 1CREATE TABLE zuime
    (
      ID NUMBER(10),  
      NAME NVARCHAR2(10)
    )INSERT INTO zuime SELECT s_Id.nextval, fValue FROM TABLE2
      

  3.   

    不用SEQUENCE 可以吗?给定一个值,然后按这个值累加。
    比如给定的是 max(fid) = 5,
    那么之后insert的值就是 6, 7, 8, 。
      

  4.   

    不用SEQUENCE没办法实现自增,除非写存储过程.
      

  5.   

    因为一次要Insert多条记录,且实现自增,在存储过程里该怎么实现?
      

  6.   

    insert into ta(fid,fvalue)
    select rownum,fvalue from tb
    这样写,以rownum当自增列,如果ta表是空的这样可以,自增列会从1开始.
    如果有ta有记录,比如fid列已经到10了就
    insert into ta(fid,fvalue)
    select rownum+10,fvalue from tb
      

  7.   

    准备接分中! 
    insert into ta(fid,fvalue)
    select (select max(fid)+1 from ta), fvalue from tb
      

  8.   

    修正:
    insert into ta(tid,tvalue)
    select (select max(tid) from ta)+rownum, fvalue from tb