序列用来自动产生唯一ID。
如果在触发器中得用序列,在插入时可以不管ID,有触发器自动执行。
如果用语句插入也行,就像 insert into table_name(id,name,...) values(seq_name.nextval,'name',..);
一般就这两种用法:
1.创建sequence
create sequence seq_name
minvalue 1
maxvalue 999999999999999999
start with 1
increment by 1
cache 20;
可以直接在插入时调用seq_name.nextval;
如insert into table_name(proid) values(seq_name.nextval);2.创建触发器(同时要创建sequence):
create or replace trigger trg_name
before insert on table_name
for each row
begin
select seq_name.nextval into :new.proid from dual;
end;
/

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/3029/3029266.xml?temp=.9723169
      

  2.   

    用rownum,不过要导入完成以后做update
      

  3.   

    除了序列可以自己在语句中生成唯一id再insert或者根据你要导入的数据,选择其中一个字段作主键列,先建表再导入
      

  4.   

    不知道你想要完成什么功能要用到唯一ID,导入数据一定要吗?还可以考虑一下rownum的用法。
      

  5.   

    oracle就是为唯一而设计出序列对象