一. oracle中如何实现一列的规律增长呢(通常是指number类型的列)?

  这就需要借助序列来实现了;

  1. 什么是序列? 可以理解为序列是一组sql语法创建出来的函数, 该函数中定义

      好了返回值的规则, 每次调用都会在上一次的返回值基础上在产生一个符合规则

     的结果.(类似于python中的生成器).

  2. 创建序列的语法(把定义的序列起名为seq1):

    create sequence seq1

    start with 1         # 设定从1开始生成

    increment by 1  # 设定步长为1

    minvalue 1        # 设定最小值为1

    maxvalue 100   # 设定最大值, 即最大到100

    cycle                 # 设定到100后循环从1开始, 如不想循环则用nocycle

    nocache;          # 不使用缓存,  或用: cache 10来指定一次缓存几个值

    如指定cache 10, 其会一次生成10个值放入内存, 再nextval时直接到内存中拿, 而不用再调用

    序列生成, 等10个用完后才会调用序列再生成10个. 优点是效率高, 缺点时数据库异常时,这些放

    到内存中的值会丢失. 即所谓的跳号现象.

  3.序列创建后是全局的, 可被任一用户直接使用, 序列的返回值是不会因为不同用户而不同.

    select seq1.nextval from dual;  # 从序列中取值

    select seq1.currval from dual;  # 查看当前序列的值

    注意, 序列在定义后, 必须先nextval再currval, 否则会报错

最新文章

  1. git 出错误“值对于Uint32太大或太小”
  2. python基础补漏-03-函数
  3. 如何优雅地使用 Windows 10 ?
  4. ubuntu12.04 安装 setuptools
  5. jpeg了解
  6. Oracle corrupt block(坏块) 详解
  7. 常见的NoSql系统使用场景分析--转载
  8. PostgreSQL的备份和恢复
  9. 【Hadoop代码笔记】Hadoop作业提交之JobTracker接收作业提交
  10. css3选择器和伪类
  11. ORACLE,DECODE函数和排名函数DENSE_RANK函数的使用
  12. JavaSE编程题
  13. Android Support Library 是什么?
  14. Android Studio原生库创建示例
  15. 02 - nginx - 反向代理、限速
  16. gcc 内联汇编
  17. (转)List<T>的各种排序方法
  18. uid-datepicker
  19. Oracle11gR2-聚簇因子浅析
  20. 【分享】Windows日志查看工具分享

热门文章

  1. CentOS下yum方式安装FFmpeg
  2. matlab练习程序(读取列不一致的数据)
  3. Day02stu
  4. js的promise
  5. 零基础学python,python视频教程
  6. Oracle:Redhat 7.4+Oracle Rac 11.2.0.4 执行root.sh报错处理
  7. centos 安装gitlab
  8. kali linux maltego-情报收集工具
  9. 原生js利用data选择元素
  10. python基础 while 字符串方法 运算符