Oracle序列

Oracle中没有自增主键这一说法

可以通过序列来实现id自增

1,Create Sequence

  首先要有Create Sequence 或者Create Any Sequence 权限

  

Create sequence emp_sequence

    increment by 1          --每次加1个
    start with 1               --从1开始计数    
    nomaxvalue              --不设置最大值
    nocycle                     --一直累加,不循环
    cache 10;

 

   一旦定义了emp_sequence,你就可以用currval,nextval。

  currval=返回sequence的当前值。

  nextval=增加sequence的值,然后返回sequence值

  比如:

    emp_sequence.currval

    emp_sequence.nextval

 

  可以使用sequence的语句:

    -不包含子查询,snapshot、view的select语句

    -insert语句的子查询中

    -insert语句中的value中

    -update的set中

 

  可以看如下的例子:

    insert into emp_values(empseq.nextval,'LEWIS','CLERK',1200,Null,200);

    select empseq.currval from DUAL;

  

 

posted on 2014-11-25 23:26  两宝程序cboii  阅读(156)  评论(0)    收藏  举报

导航