zoukankan      html  css  js  c++  java
  • oracle序列

    序列的两个伪列:
    currval
    序列的当前值,反复引用时该值不变。
    nextval
    序列的下一个值,每次引用按步长自增。

    CREATE SEQUENCE se1
    INCREMENT BY 10
    START WITH 50
    MAXVALUE 100
    CYCLE
    NOCACHE

    第一次要引用一下 nextval伪列
    select se1.nextval from dual;
    以后就有currval伪列值了。
    select se1.nextval from dual;

    几点说明:
    1)建立一个最简单序列只需要create sequence 序列名,其他使用缺省值,注意:起始是1,步长也是1。
    2) 如果启用选项cache,缺省只有20个号,经验表明这个数量会不够,可以设置多一些,根据需要10000个也以。
    3)选项cycle其实没有什么意义,因为它使序列发出重复值,这对于基于序列是主键值的用法是个问题。
    4) 可以使用alter命令修改序列配置。但alter命令a不能修改起始值。如果要重启该序列,唯一的办法是删除并重新创建它。
    5)循环后初始是从1开始的, 不管原来的值是如何设的
    6)删除序列的命令是drop sequence 序列名
      此处提一下 CACHE 这个关键字:如果建立序列时不指定 CACHE 和 NOCACHE,默认值为 20,即一次性从序列里取20 个数放入内存,如果内存崩溃,则这 20 个数就会丢失,再取值时从第 21 个数开始取值,CACHE 设置的最小值为 2。



  • 相关阅读:
    poj3984 迷宫问题(简单搜索+记录路径)
    substr
    poj3087 Shuffle'm Up
    学生管理系统
    win10配置gcc编译环境
    poj3278 Catch That Cow
    将字符串str1复制为字符串str2的三种解决方法
    poj2251 Dungeon Master
    cf 410
    7.20 Codeforces Beta Round #8
  • 原文地址:https://www.cnblogs.com/Babylon/p/7903983.html
Copyright © 2011-2022 走看看