日期:2014-05-16  浏览次数:20407 次

Oracle之序列(主键自增)

1.

  在Oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户收工完成处理。

序列的创建格式:

CREATE SEQUENCE sequence
[INCREMENT BY n][STARTWITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}] ;

范例:创建一个myseq的序列,验证自动增长的操作。

CREATE SEQUENCE myseq ;

序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了一下的两种操作:

  • nextVal : 学的序列的下一个内容
  • currVal : 去的序列的当前内容
范例:建立一张以验证序列的操作
CREATE TABLE testseq(
next NUMBER ,
curr NUMBER
) ;

现在向表中添加数据,添加数据的时候需要手工使用序列

范例:使用序列

INSERT INTO testseq(next,curr) VALUES (myseq.nextval,myseq.currval) ;


该操作执行5次。