• 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

  • 相关阅读:
    java
    GO学习Day2
    GO学习Day1
    APS定时任务框架
    用微信每天给女朋友说晚安
    人生苦短,我用python
    Python 捕获terminate信号优雅关闭进程
    Python 多线程及多进程结合使用
    Python API 接口权限控制思路
    Docker runC 严重安全漏洞CVE-2019-5736 导致容器逃逸
  • 原文地址:https://www.cnblogs.com/sunice/p/15166733.html
Copyright © 2020-2023  润新知