oracle中
create table a
(id bigint identity(1,1) nut full
);
为什么有错?
怎么实现列的自动增长

解决方案 »

  1.   

    identity(1,1)?oracle好像不用这个,你可以先建立一个sequence来实现自动增长
      

  2.   

    1.用序列,会出现不连续想象.
    2.用触发器,每次进行插入的时候先查询记录的最大ID,插入ID+1 就OK了.
      

  3.   

    oracle 不象sqlserver有自动递的identity,但可以用系列-- 序列号的产生 
    create sequence row_id 
    minvalue 1 
    maxvalue 9999999999999999999999 
    start with 1 
    increment by 1 insert into test values(row_id.nextval,....)  
    当前序列号row_id.currentval
    下一个序列号row_id.nextval
      

  4.   

    oracle 没有自增长数据类型, 
    请用序列吧。
    如楼上所示那样。
      

  5.   

    用序列一定会出现 间断的现象,不过用触发器count maxid 在加一,会不会有并发问题呢?比如两个线程 同时插入,去除 count maxid一样,那么后插入的一定会失败。