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
oracle数据库ID自增长--序列的更多相关文章
- oracle数据库ID自增长
使用sequence --创建sequenceCREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 ...
- Oracle数据库学习 视图、序列及存储过程
视图(View) 视图也被称作虚表,也就是虚拟的表,是一组数据的逻辑表示. 视图对应一个select语句,结果集被赋予一个名字,也就是视图的名字. 视图本身不包含任何数据,它只是包含映射到基表的一个查 ...
- EF中创建、使用Oracle数据库的Sequence(序列)功能
** 背景 ** 项目中订单号原来的生成规则由日期加随机数组成,后期需求决定将订单号生成规则更改为生成日期加当天当前订单数. 每天的订单数都是从0开始的,每生成一个订单,订单数就应该加1.订单数应该是 ...
- ORACLE设置id自增长
1.创建序列create sequence sequence_userinfo start with 1 increment by 1 minvalue 1 maxvalue 999999 nocyc ...
- Oracle数据库迁移至PostgreSQL数据库问题及解决
Oracle数据库迁移PostgreSQL数据库问题及解决 目录 如何计划迁移数据库(现状及问题分析) 统计系统表及表功能 解耦公共表 建立数据库 迁移表结构 导入表数据 改SQL语法 保证数据时效性 ...
- 【解决】Oracle数据库实现ID自增长
Oracle数据库要实现ID的自增长,需要创建一个序列和触发器来实现,略微有一点点麻烦,但是也是可以解决的. 直接上地址,首先,http://www.wlcrane.com/article.aspx? ...
- oracle数据库表用序列实现主键自增长
原理注意:序列和触发器必须建立在同一个用户名下否则运行出错1.建立数据表create table 表名( userid number(10) primary key, ...
- Hibernate注解映射sequence时出现无序增长问题+hibernate 映射 oracle ID自动增长:
Hibernate注解映射sequence时出现无序增长问题+hibernate 映射 oracle ID自动增长: 通过Hibernate注解的方式映射oracel数据库的sequence主键生成器 ...
- PowerDesigner连接Oracle数据库建表序列号实现自动增长
原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties — ...
随机推荐
- eclipse中使用maven搭建多模块项目
暂时参考:https://blog.csdn.net/u012343297/article/details/79883870
- vue 渲染是出现 Do not use built-in or reserved HTML elements as component id 的警告
情况1.是因为组件命名和引入不一致造成的. 命名组件(nav) export default { name: 'nav', data () { return { } } 引入组件(Navigation ...
- AtCoder AGC002E Candy Piles (博弈论)
神仙题..表示自己智商不够想不到... 好几次读成最后拿的赢了,导致一直没看懂题解... 题目链接: https://atcoder.jp/contests/agc002/tasks/agc002_e ...
- pycharm 安装激活
下载pycharm :http://www.jetbrains.com/pycharm/download/download 安装 直到 finish 下载补丁jetbrains-agent.jar并添 ...
- DVWA--CSP Bypass
0x01看到标题,是否有点疑惑 CPS 是什么东东.简单介绍一下就是浏览器的安全策略,如果 标签,或者是服务器中返回 HTTP 头中有 Content-Security-Policy 标签 ,浏览器会 ...
- android存储路径问题
关于存储路径问题,如果是想要存储在应用本身的路径下,如果该应用卸载的时候,对应文件随之卸载, 如果使用的是android level 8以上的版本,采用的是: getExternalFilesDir( ...
- UI-WPF_UI:WPF UI - DMSkin官方网站
ylbtech-UI-WPF_UI:WPF UI - DMSkin官方网站 1.返回顶部 1. QQ: 944095635 DMSkin.com 首页 论坛 定制 博客 联系 DMSkin 3. ...
- webService框架CXF的简单使用
最近本来已经将上一个项目交活,全身心投入了另外项目的前端的开发工作.可之前的项目经理通知我,之前的项目需要做一个webService的功能,于是稍微做了一下webService,可是忘了通知我现在的项 ...
- session 、cookie、token的区别(转)
session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后ses ...
- Web Service自动化测试知识点导图