序列是一个单独的对象,不是在表中创建!创建:
  create sequence SEQNAME
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;

解决方案 »

  1.   

    同意楼上的,在ORACLE里面,序列是单独的对象,和具体的表没关系。自然对非主键也是可以使用的。
    至于“创建序列和表中的每个列的not null属性有关系”,这个也很清楚了,表和序列是不同的对象,没关系。
      

  2.   

    樓主搜索一下FAQ
    有答案的
      

  3.   

    序列不是在表中创建
    但表可以利用序列来指定列值
    列如
    create sequence seq       序列名称seq
    increment by 1            步长1
    start with 1              开始值1
    maxvalue 10               最大值10
    minvalue 1                最小值1 
    cycle                     可循环
    chche 4;                  默认缓存4个应用一般是:
    insert into table1 values (seq.currval);
    如果序列当前值为3  那么插入表中相应字段的值就为3