Oracle中sequence(序列)使用方法详解

 更新时间:2023年03月13日 11:09:44   作者:睡竹  
在oracle中sequence就是序号,每次取的时候它会自动增加,下面这篇文章主要给大家介绍了关于Oracle中sequence(序列)使用方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

sequence是Oracle中的序列,可以实现字段的自增或自减效果

Oracle与MySQL、SQL server不同,没有直接实现字段自增的功能,需要我们使用自增序列去实现

如:

--设置自增序列,名称为"seq_userinfo",名字任意命名
create sequence seq_userinfo
 increment by 1		--每次+1	
 start with 1		--从1开始
 nomaxvalue			--不限最大值
 nominvalue			--不限最小值
 cache 20;			--设置取值缓存数为20

1、create sequence seq_userinfo

sequence :为关键字,表示"序列"

seq_userinfo:为序列的名称,我们可以任意命名(注意符合命名规范即可)

2、increment  by  1

increment  :表示自增

by 1:表示每次变动1个整数单位

3、start with 1

表示从1开始

start with 200 :表示从200开始自增

4、nomaxvalue

表示不限制最大值,我们也可以手动设置最大值,如:

maxvalue  99999999999   --最大值为99999999999   

5、nominvallue

表示不限制最小值

6、cache  20

这个值特别重要

Oracle默认cache=20

cache的作用:当设置cache=20,第一次新增时,会往Oracle服务器的缓存中,存储20个整数值,例如,我们第一次新增是从1开始,就会把1到20这个20个数字存储到Oracle缓存中,当下一次新增时,直接从缓存中获取数字

优点:提高了insert时的效率,这里的cache效果与Java中的连接池效果是一致的!

缺点:Oracle服务器会存在不确定因素,从而导致缓存被刷新,从而导致cache还没使用完,cache就失效了,不能保证自增序列的连续性

说白了就是:缓存中存储1到20个数字,用到10的时候,这一次的cache就被刷新失效了,下一次再新增时,会重新设置缓存(从21开始,再拿20个数字),从而导致自增的序列出现数字不连续的情况

在后端系统中,一般是不需要保证自增序列的连续性的,因此,设置cache值是必要的

总结

到此这篇关于Oracle中sequence(序列)使用的文章就介绍到这了,更多相关Oracle sequence序列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何删除Oracle数据库临时表空间

    详解如何删除Oracle数据库临时表空间

    因生产环境磁盘空间不足,影响了业务,短时间内无法扩容磁盘,经过排查发现,可以释放temp临时表空间来临时释放部分空间,本文记录了如何释放临时表空间的详细操作步骤,需要的朋友可以参考下
    2024-03-03
  • Oracle数据库中保留小数点后两位的问题解读

    Oracle数据库中保留小数点后两位的问题解读

    在Oracle数据库中,对数字和百分比进行格式化,以保留两位小数,主要使用to_char()函数,对于大数字如10000000.12,使用to_char(字段名, 'FM99999999999990.00')可确保保留两位小数而无额外空格,对于百分比如86.63%
    2024-09-09
  • oracle分区表之hash分区表的使用及扩展

    oracle分区表之hash分区表的使用及扩展

    Hash分区是Oracle实现表分区的三种基本分区方式之一。对于那些无法有效划分分区范围的大表,或者出于某些特殊考虑的设计,需要使用Hash分区,下面介绍使用方法
    2014-01-01
  • orcale中的to_number方法使用

    orcale中的to_number方法使用

    这篇文章主要介绍了orcale中的to_number方法使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • oracle select执行顺序的详解

    oracle select执行顺序的详解

    本篇文章是对oracle select执行顺序进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 基于oracle中锁的深入理解

    基于oracle中锁的深入理解

    本篇文章是对oracle中的锁进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • MySQL安全性指南 (2)(转)

    MySQL安全性指南 (2)(转)

    MySQL安全性指南 (2)(转)...
    2007-03-03
  • VMware中linux环境下oracle安装图文教程(一)

    VMware中linux环境下oracle安装图文教程(一)

    刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。作为一个新手,我们还是先在VMware虚拟机里安装吧。
    2014-08-08
  • oracle中的substr()函数用法实例详解

    oracle中的substr()函数用法实例详解

    这篇文章主要给大家介绍了关于oracle中substr()函数用法的相关资料,substr函数是用于字符串的截取的函数,只适用于string类型,并不适用于字符数组,需要的朋友可以参考下
    2023-11-11
  • Oracle 大小写转换函数实例详解

    Oracle 大小写转换函数实例详解

    这篇文章主要介绍了Oracle 大小写转换函数实例详解的相关资料,需要的朋友可以参考下
    2017-06-06

最新评论