oracle维护自增方式

2014-11-24 15:14:07 · 作者: · 浏览: 0
oracle维护自增方式
1.通过使用oracle特性sequence来维护自增方式
CREATE SEQUENCE emp_sequence

  INCREMENT BY 1 —— 每次加几个

  START WITH 1 —— 从1开始计数

  NOMAXVALUE —— 不设置最大值

  NOCYCLE —— 一直累加,不循环

  CACHE 10;

  只要定义了emp_sequence,你就可以用使CURRVAL,NEXTVAL

  CURRVAL=返回 sequence的当前值

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

可以看如下例子:

  INSERT INTO emp VALUES

  (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);

  SELECT empseq.currval FROM DUAL;

2.使用触发器来维护自增
BEGIN
       SELECT oa2_inner_mail_se.NEXTVAL INTO :NEW.mail_id FROM DUAL;
     END;