谢谢

解决方案 »

  1.   

    like this:
    create sequence seq_name increment by 1 start with 1;create table t1(a int);insert into t1 values (seq_name.nextval);select seq_name.nextval from dual;
    select seq_name.currval from dual;
      

  2.   

    在sql server中存在自增列之说,但是在oracle中没有这样的说法,所以oracle为了实现这样的问题产生了sequence 这个奇怪的东西
    创建sequence:
    create sequence seq_name increment by 1 start with 1;
    --表示创建一个名称为seq_name的sequence,起始值从1开始,每次增加1
    获取sequence当前值:
    select seq_name.currval from dual;
    --这个操作sequence的值保持一个最后一次使用seq_name.nextval后固定的值
    获取sequence的下一个值:
    select seq_name.nextval from dual;
    --这个操作每做一次,sequence的值增加1
    当然你也可以设定不从1开始,可以设定每次增加一个自己定义的数字,sequence也可以设定最大值,到最大值后循环
      

  3.   

    ?Used with the VALUES clause on an INSERT command.
    ?Used with the SELECT subclause of a SELECT command.
    ?Used in the SET clause of an UPDATE command.