Oraclesequence序列的用法Oracle认证考试

文章作者 100test 发表时间 2009:12:24 16:46:09
来源 100Test.Com百考试题网


"mkhgigh">

  oracle中没有自增类型的字段的,所以通常情况下需要定义一个sequence来作为自动增长类型字段的数据。

  于是记录了一些关于oracle sequence的资料,已备查用!

  Oracle中的序列(sequence)

  1: 如何定义一个序列

  仅向前的数字变量(和SQL中的自动编号有点像 identity(1,2) )

  格式:

  create sequence <.序列名称>.

  start with <.起始数>.

  increment by <.增长量>.

  [maxvalue 值]

  [minvalue 值]

  [cycle 当到达最大值的时候,将继续从头开始]

  [Nocycle -- 一直累加,不循环]

  [Cache ]

  注意:

  第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次 SEQUENCE的值。

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

  example:

  create sequence mySeq

  start with 1

  increment by 2

  maxvalue 40

  minvalue 1

  cycle


相关文章


ORACLE数据库的新特性:分区管理Oracle认证考试
解决Oracle里汉字长度问题Oracle认证考试
oracle批量0update和0deleteOracle认证考试
SQL质量差导致逻辑读比较多Oracle认证考试
Oraclesequence序列的用法Oracle认证考试
Oracle中DUMP的转储方法Oracle认证考试
Oracle认证辅导:Oracle系统表Oracle认证考试
oracle用instr代替likeOracle认证考试
oracle10g控制台启动端口修改Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛