当前位置: 首页 > news >正文

oracle数据库ID自增长--序列

什么是序列?在mysql中有一个主键自动增长的id,例如:uid number primary key auto_increment;在oracle中序列就是类似于主键自动增长,两者功能是一样的,只是叫法不同而已。

在oracle中想要实现id自动增长只能用序列来实现。在oracle中,是将序列装入内存,可以提高访问效率。

1.)序列的创建

  create sequence 序列名称

  increment by n 每次增长多少 //系统默认值为1. 

  start with  n从几开始 //系统默认值为1.

  [maxvalue  n最大值|nomaxvalue]  //NoMaxValue:是系统对序列设置的默认值. 即指定升序序列的最大值为10的27次方.降序序列的最大值为-1.

  [minvalue n最小值|nominvalue] //同上

  [cycle |nocycle 是否循环]

  [cache  n缓存的数量|nocache]  //指定要保留在内存中整数的个数.默认缓存的格式为20个. 可以缓存的整数最少为2个. 可以缓存的整数个数最多为:Cell(maximum_num—minimum_num)/ABS(increment_num). 注:Cell(序列的最大上限值—最小下限值,)/ABS(每次自增的增量).

例如:create sequence person_pid_seq

           increment by 1

           start with 1

           maxvalue 1000

           nocycle

           nocache;

  可以直接创建,其他大的选项全部是默认值。例如:create sequence person_pid_seq;

2.)序列的操作

序列创建完成之后,所有的自动自动增长就都是由我们自己操作了,那么如果操作呢?提供了两种方式。

  2.1 nextval:取得序列的下一个值

  2.2 currval:取得当前序列的内容

注意:currval 需要再nextval调用之后才能使用

 

3.)序列的使用

    insert into person values(person_pid_seq.nextval,'name,'adress');//一般是利用nextval,让id保持一直递增。

4.)序列的删除

    drop sequence person_pid_seq;

5.)序列的注意事项

    由于序列是同auto_increment一样的,所有它是不会回头的,即使你删掉了数据,它的id永远不会回到以前,只会一直递增,例如,你有十条数据,你删了第十条,希望下一条的id从10开始,这是不可能的,除非你重新做。 

详情参考:https://blog.csdn.net/yongqingmiao/article/details/6753421

转载于:https://www.cnblogs.com/jasonboren/p/10923756.html

相关文章:

  • python编写弹球游戏的实现代码
  • 008
  • lombok 下的@Builder注解用法
  • zabbix4.0-centos6 报错坑,是因为有3.0的包
  • php-fpm 高并发 参数调整
  • 第二阶段团队冲刺(二)
  • Django静态博客开发_1_入门
  • 网络爬虫之记一次js逆向解密经历
  • linux操作练习题
  • ROS节点的初始化及退出详解(ros::init、SIGINT、ros::ok、ros::NodeHandle
  • 文档集数据处理 gensim corpora.Dictionary
  • Unittest高级应用
  • 齐二TK6916/20/26/32系列数控落地铣镗床简介5
  • Python_base_函数返回值
  • 父组件传递数据给子组件
  • python3.6+scrapy+mysql 爬虫实战
  • Android开源项目规范总结
  • Bytom交易说明(账户管理模式)
  • Django 博客开发教程 8 - 博客文章详情页
  • Git学习与使用心得(1)—— 初始化
  • java2019面试题北京
  • JavaScript HTML DOM
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Java方法详解
  • JSONP原理
  • Js基础知识(四) - js运行原理与机制
  • Python学习之路16-使用API
  • Service Worker
  • 计算机常识 - 收藏集 - 掘金
  • 你不可错过的前端面试题(一)
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 我是如何设计 Upload 上传组件的
  • 详解移动APP与web APP的区别
  • 小而合理的前端理论:rscss和rsjs
  • 鱼骨图 - 如何绘制?
  • #HarmonyOS:软件安装window和mac预览Hello World
  • $().each和$.each的区别
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (C)一些题4
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)计算机毕业设计大学生兼职系统
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)母版页和相对路径
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net MVC4 上传大文件,并保存表单
  • .net MySql
  • .NET 使用 XPath 来读写 XML 文件
  • .NET简谈设计模式之(单件模式)
  • .NET轻量级ORM组件Dapper葵花宝典
  • @RequestParam详解
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory