oracle最大值填充,Oracle sequence值到了最大值的处理
序列是oracle提供的用于生成一系列唯一数字的数据库对象,序列会自动生成顺序递增的序列号,以实现自动提供唯一的主键值,系列可以在多个用户并发环境中使用,并且可以为所有用户生成不重复的顺序数字,而不需要任何额外的I/O开销。
创建序列
序列和视图一样,并不占用实际的存储空间,只是在数据字典中保存他的定义信息。当创建序列时必须拥有create sequence系统权限。
语法格式:
create sequence seq_name
[start with n]
[minvalue n | nomainvalue]
[maxvalue n | nomaxvalue]
[cache n | ncache]
[cycle | nocycle]
[order | noorder];
含义:
seq_name:创建的序列名。
Increment :该子句是可选的,表示序列的增量。一个正数将生成一个递增的序列,一个负数将生成一个递减的序列。默认值为1
minvalue:可选的子句,决定序列生成的最小值。
maxvalue:可选的子句,决定序列生成的最大值。
start: 可选的子句,制定序列的开始位置。默认情况下,递增序列的起始值为minvalue,递减序列的起始值为maxvalue。
cache:该选项决定是否产生序列号预分配,并存储在内存中。
cycle: 可选的关键字,当序列到达最大值(maxvalue)或者最小值(minvalue)时可复位并继续下去。如果达到极限。生成的下一个数据将分别是最小值或者最大值。如果使用NO CYCLE 选项,那么在序列达到最大值或最小值之后,如果再试图获取下一个值将返回一个错误。
order: 该选项可以保证生成的序列值是按顺序产生的。例如:order可以保证第一个请求得到的数为1,第二个请求得到的数为2,以此类推而NOODDER只保证序列的值唯一性,不保证产生列值的顺序。
例子:
create sequence seq_dept
maxvalue 99--序列产生产生的最大值。
start with 50 --从50开始
increment by 10--每次跳10个序列号递增
cache 10;--在系统中预分配10个。将来生成的序列号为50,60,70,80,90
注意:
使用序列时,需要用到序列的两个伪列NexVal与CurrVal。其中nextval将返回序列生成的下一个序列号,而伪列currval则会返回序列的当前序列号。需要注意,首次引用序列时,必须使用伪列nextval。
例如:insert into scott.dept(deptno,dname,loc) values(seq_dept.nextval,'development',default);
执行以上句子后,会为dept表插入一条数据,并且deptno列会使用序deptno_seq生成的序列号。另外,如果用户要确定当前序列号,可以使用伪列currval。
例如: select seq_dept from dual;
当sequence的值到达了最大值之后,若选择了cycle属性,那么会复位到最小值继续增加依次循环。
oracle最大值填充,Oracle sequence值到了最大值的处理相关推荐
- oracle序列号查询最大值,Oracle sequence值到了最大值的处理
序列是oracle提供的用于生成一系列唯一数字的数据库对象,序列会自动生成顺序递增的序列号,以实现自动提供唯一的主键值,系列可以在多个用户并发环境中使用,并且可以为所有用户生成不重复的顺序数字,而不需 ...
- oracle 左边填充,oracle中左填充(lpad)和右填充(rpad)的介绍与用法
这篇文章主要跟大家介绍了关于oracle中左填充(lpad)和右填充(rpad)的相关资料,通过填充我们可以固定字段的长度,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下 ...
- JDBC读取新插入Oracle数据库Sequence值的5种方法
Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,本文详国介绍了5种实现读取新插入记录sequence值的方法. ...
- java代码读取dbsequence的值_JDBC读取新插入Oracle数据库Sequence值的5种方法
//公共代码:得到数据库连接 public Connection getConnection() throwsException{ Class.forName("oracle.jdbc.dr ...
- Oracle中序列(Sequence)详解
Oracle中序列(Sequence)详解 一 序列定义 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).不占用磁盘空间,占用内存. 其主要用 ...
- oracle函数胡书写,Oracle中序列表sequence的使用.docx
Oracle中序列表sequence的使用 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按 序列号排序的地方. 1. create sequence 你首先 ...
- oracle的sequence是什么,关于Oracle的序列(Sequence)使用内容是什么呢?
关于Oracle的序列(Sequence)使用序列是一数据库对象,利用它可生成唯一的整数.一般使用序列自动地生成主键值.对我们程序员来讲,精力时间有限,我们只学最有用的知识.大家请看: 1) 建立序列 ...
- Oracle中的序列 sequence 用法
sybase 同埋sqlserver 系冇序列呢样野的. 但系oralce有. oralce 序列简单d来讲类似于sybase的递增列的机制, 但是sybase 一张表只允许1个递增列, 而oracl ...
- oracle查询表nextval,Oracle Database 建立与查询 Sequence
相关的 Oracle Database Sequence 资讯如下: 建立 Sequence 语法 create sequence ._s increment by 1 start with 1 ma ...
最新文章
- 求求你别再写上千行的类了,试试这些牛逼的重构技巧吧
- html页面判断其他div为空,将外部html加载到div中 - 页面加载然后变为空白
- Mysql重置初始密码的方法
- 用VS studio 2008做sql server 报表出现乱码
- C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能
- JS与Object-C交互补充
- 20年的老程序员对新入行的朋友的一些建议
- Docker Weave 介绍 or 工作原理
- 使用idea练习springmvc时,出现404错误总结
- Windows 中实现 Java 本地方法
- JavaScript文档说明
- php实现facebook登陆功能
- Photoshop抠图(磁性套索工具及几个常用案例)
- 线性回归——加州房价预测
- 推荐10个免费实用的资源网站,值得收藏
- java模拟微信抢红包金额算法规则二倍均值法模拟(满满的注释)
- 20元充电宝 身边的炸弹?选购留意电芯
- 刀柄锥度气动量仪检测
- Pandas中的Dataframe和Series
- PyQt 6(二) 亲手编写界面
热门文章
- 一文聊透 Dubbo 优雅停机
- IntelliJ IDEA 2019.2最新解读:性能更好,体验更优,细节处理更完美!
- 御泥坊搜索引擎优化网络诊断_掌握以下这些网络营销搜索引擎优化技巧,你的排名想不靠前都难!...
- 排序后顺序错乱java_排列顺序不对怎么调
- linux分区模型,linux设备驱动模型详解.pdf
- Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]
- python调用大华sdk
- opencv 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突
- faceboxes笔记
- python itertools模块实现排列组合