zoukankan      html  css  js  c++  java
  • sequence:创建、使用

    一:简介:

      sequence是数据库系统自动生成一个唯一的数字序列,可以用来做表中的主键;sequence是数据库系统中一个特殊的表,受数据库系统控制。任何时候都可以从sequence表中取数据。

    二:oracle下如何创建sequence:

      创建一个定义一个seq_test,最小值为1,最大值为999999,从2开始,增量的步长为1,缓存为20的循环排序Sequence。

     create sequence seq_test

     minvalue 1

     maxvalue 999999

     start with 2

     increment by 1

     cache 20

     cycle;

    cycle代表循环,当序列值达到999999之后,就会自动转换到1。nocycle就是不循环。

    order按数据库按次序进行取值,对应noorder

    cache是用来缓存的,便于下次快速取值,对应-nocache,注意:如果cache中是1-20,你娶到5时,突然数据库down掉,那么你限次取值就是21了。

    三:如何取值呢?

    当sequenc建好之后,可以使用nextval 和currval,进行取值

    nextval =先增加sequence的值,然后返回 sequence 值

    currval =当前sequence的值

    注意:第一次使用nextval时候,取得是初始值,随后在用nextval就是先增加,再返回。currval时必须是在第一次nextval初始化之后才能使用,否则会出错。

    同一个sql语句对同一个sequence使用nextval的值是一样的,即一条sql语句对同一个sequence无论使用多少次,返回的之都是同一个值。

    转载:

    http://blog.sina.com.cn/s/blog_a3ffb91101011yjj.html

  • 相关阅读:
    Sprint第二个冲刺(第八天)
    Sprint第二个冲刺(第七天)
    Sprint第二个冲刺(第六天)
    Sprint第二个冲刺(第五天)
    Sprint第二个冲刺(第四天)
    Sprint第二个冲刺(第三天)
    Sprint第二个冲刺(第二天)
    Sprint第二个冲刺(第一天)
    新冲刺Sprint3(第三天)
    新冲刺Sprint3(第二天)
  • 原文地址:https://www.cnblogs.com/sunice/p/15166733.html
Copyright © 2011-2022 走看看