用sequence
创建一个SEQ_UU_RECORD
CREATE SEQUENCE YING.SEQ_UU_RECORD
INCREMENT BY 1
START WITH 21
NOMAXVALUE
NOMINVALUE
NOCYCLE 
CACHE 20
NOORDER 
/

解决方案 »

  1.   

    CREATE SEQUENCE emp
        INCREMENT BY 1  -- 每次加几个 
        START WITH 1    -- 从1开始计数 
        NOMAXVALUE      -- 不设置最大值 
        NOCYCLE         -- 一直累加,不循环 
        CACHE 10;     -- 预分配缓存大小为10定义了emp,你就可以用CURRVAL,NEXTVAL 
     CURRVAL = 返回 sequence的当前值 
     NEXTVAL = 增加sequence的值,然后返回 sequence 值 
    比如: 
      emp.CURRVAL 
      emp.NEXTVAL 然后
    select emp.nextval from dual;
    insert 也一样emp.nextval,
      

  2.   

    不好意思。    create sequence emp
            INCREMENT BY 1  -- 每次加几个
            START WITH 1       -- 从1开始计数
            NOMAXVALUE       -- 不设置最大值
            NOCYCLE              -- 一直累加,不循环
            CACHE 10;             --预分配缓存大小为10   定义了emp,你就可以用CURRVAL,NEXTVAL
        CURRVAL = 返回sequence的当前值
        NEXTVAL = 增加sequence的值,然后返回sequence值
        比如:
            emp.CURRVAL
            emp.NEXTVAL    可以使用sequence的地方:
            - 不包含子查询、snapshot、VIEW的 SELECT 语句
            - INSERT语句的子查询中
            - NSERT语句的VALUES中
            - UPDATE 的 SET中
       然后
      select emp.nextval from dual;
      insert 也一样emp.nextval,
      

  3.   

    oracle中的自增序列是通过创建Sequence实现的.
    做法楼上已说的很明白了.
      

  4.   

    oracle不象sql server可以在定义表的时候就设成自动增加的
    而是通过创建SEQUENCE来得到一个自动增长值,然后对表中的列赋值