当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
在ORACLE中创建自增字段(sequence)的方法二
发布时间:2010/10/18 9:56:53 来源:www.xue.net 编辑:城市总裁吧
     但是要注意的是:

  - 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次 SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明白?

  - 如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。

  2、Alter Sequence

  你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create .

  Alter sequence 的例子

  ALTER SEQUENCE emp_sequence

  INCREMENT BY 10

  MAXVALUE 10000

  CYCLE -- 到10000后从头开始

  NOCACHE ;

  影响Sequence的初始化参数:

  SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。

  可以很简单的Drop Sequence

  DROP SEQUENCE order_seq;

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved