现有一空表,第一个字段为自增字段,已创建sequence,现有excel数据表,想把Excel数据导至此表中,这个自增字段如何导入
难不成给它也在Excel中加一自增列啊?
望指教,谢谢

解决方案 »

  1.   

    步骤:
       1.你先将excel表中的数据导入到数据库中的表中。
       2.假设自增的列为id, 在导入数据库后你只要更新id为rownum即可。   以我创建表a为例:SQL> select * from a;
     
            ID NAME
    ---------- --------------------
             1 a
             1 b
             1 c
             1 d
             1 e
             1 f
     
    6 rows selected
     
    SQL> update a set id = rownum;
     
    6 rows updated
     
    SQL> commit;
     
    Commit complete
     
    SQL> select * from a;
     
            ID NAME
    ---------- --------------------
             1 a
             2 b
             3 c
             4 d
             5 e
             6 f
     
    6 rows selected
     
      

  2.   

    自增的列可以在触发器中来处理
    create or replace trigger trg_import 
    BEFORE  INSERT OR UPDATE ON TAB FOR EACH ROW
    is
        V_ID NUMBER;
    begin
          SELECT SEQNAME.NEXTVAL INTO V_ID FROM DUAL;
         :NEW.ID:= V_ID;
    end;
      

  3.   

    1.
      先建一个临时表。2. 
      用pl/sql 把excel中的数据库导入到临时表中。3.
      再把表的数据库插入到实用表中和自增列一起插入。