Sequence是一个数据库对象,多个用户可以从中生成唯一的整数,可以使用序列自动生成主键值。

  • 生成序列号时,序列号将递增,独立于事务提交或回滚;

  • 如果两个用户同时递增同一序列,因为序列号是由另一个用户生成的,每个用户获得的序列号可能存在间隙,一个用户永远无法获取另一个用户生成的序列号。一个用户生成序列值后,该用户可以继续访问该值,而不管序列是否由另一个用户递增;

  • 序列号是独立于表生成的,因此同一序列可以用于一个或多个表。个别序列号可能会被跳过,因为事务最终回滚。此外的用户可能不会意识到其他用户也正在从同一序列中绘制。

创建序列

CREATE SEQUENCE name

[ INCREMENT BY increment ]

[ { NOMINVALUE | MINVALUE minvalue } ]
[ { NOMAXVALUE | MAXVALUE maxvalue } ]

[ START WITH start ]

[ CACHE cache | NOCACHE ]

[ CYCLE ]

得到序列

使用 NEXTVAL 和 CURRVAL 对序列进行操作。他们是伪列(pseudocolumn),行为类似于表列,但实际上并不存储在表中。可以从伪列中进行选择,但不能插入、更新或删除它们的值。

Select emp_sequence.nextval

from  dual

修改序列

ALTER SEQUENCE emp_sequence

INCREMENT BY 10

MAXVALUE 10000 CYCLE

删除序列

DROP SEQUENCE emp_sequence 

查询序列

select * from  user_sequences

Sequence_Name

序列名

Min_Value

序列的最小值

Max_Value 

序列的最大值

Increment_By 

序列值之间的增量

Cycle_Flag 

一个标志,一旦达到Max_Value 值,用来表明该值能否再循环回Min_Value 值

Order_Flag

一个标志,用来表明序列号是否按顺序生成

Cache_Size 

内存中缓存的序列项的编号

Last_Number 

使用的或缓存的最后一个序列号,一般大于缓冲区中的最后一个值。Last_Number 列在普通的数据库操作过程中不被更新,它在数据库的重新启动/恢复操作中使用。

ALL_SEQUENCES  视图列出了用户拥有的所有序列,或授权该用户或PUBLIC 所有用户访问的序列。由于ALL_SEQUENCES 视图包含多个用户的项,因此除已经列出的列外,它还包含一个Sequence_Owner 列
DBA_SEQUENCES  视图列出了数据库的全部序列,它与ALL_SEQUENCES 视图具有相同的列定义

参考资料:

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6015.htm

https://www.cnblogs.com/sunice/p/10020953.html

https://www.alibabacloud.com/help/zh/doc-detail/135406.htm

oracle sequence 不同 会话 不连续_序列 Sequence相关推荐

  1. Oracle数据库中序列(SEQUENCE)的用法详解

    http://database.51cto.com/art/201108/280742.htm 在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为 ...

  2. oracle初始化序列值,如何修改序列(Sequence)的初始值(START WITH)

    Oracle 序列(Sequence)主要用于生成流水号,Oracle EBS系统中是经常用到的.但是,有时需要修改序列初始值(START WITH)时,好多人凭感觉认为:Alter Sequence ...

  3. Oracle sql创建序列sequence

    知道的创建表序列的用途是当建立表的时候,Oracle不像Mysql一样会有自动主键增长AUTO_INCREMENT,所有如果需要主键自动增长的效果,Oracle提供了序列sequence方式. 创建序 ...

  4. oracle如何实现自增?----用序列sequence的方法来实现

    将表t_user的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create  table  t_user( Id number(6),userid varchar2(2 ...

  5. oracle 序列缓存的作用,Oracle序列sequence 深入理解

    Oracle序列:序列(Sequence)创建.使用.修改.删除,序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成. 语法:创 ...

  6. oracle 序列 清除,Oracle序列(Sequence)创建、使用、修改、删除

    Oracle序列(Sequence)创建.使用.修改.删除 一: 创建序列: 语法: CREATE SEQUENCE sequence_name [START WITH num] [INCREMENT ...

  7. Oracle序列(sequence)使用总结

    前言: 我们都知道数据库表中的主键值有的时候我们会用数字类型的并且自增.mysql.sql server中的都可以使用工具创建表的时候很容易实现.但是oracle中没有设置自增的方法的工具,一般情况我 ...

  8. oracle数据库中could not get next sequence value的解决

    在使用hibernate保存数据的时候,出现了could not get next sequence value这个错误,这个错误的意思就是找不到序列中的下一个值.解决这个问题具体按如下分析: 1.确 ...

  9. mysql添加序列触发器_Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例...

    问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的.而在Oracle中却没有这个功能,该如何实现呢? 答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(tri ...

最新文章

  1. Oracle面试问题汇总
  2. 译:Spring Boot 自动伸缩
  3. 数据库数据过长避免_为什么要避免使用商业数据科学平台
  4. 格式notepad自动对齐_6.2 对齐设置
  5. 南京航空航天大学计算机考研经验分享,南京航空航天大学计算机考研829大纲
  6. 自适应滤波——线性预测(LPC)
  7. 计算机与网络教育缺点,互联网安全有什么类型,缺点在何处?
  8. 从零开始学51单片机
  9. html里面链接,html – 链接里面的一个链接
  10. 新人小白面试软件测试必问
  11. 把握出租车行驶的数据脉搏 :出租车轨迹数据给你答案!
  12. CygWin、MinGw和Msys的区别
  13. linux centos系统启动失败:VFS:Unable to mount root fs on unknown-block
  14. 东方国信携手Cloudera 共创Hadoop生态圈辉煌
  15. Word输入的英文字体被默认为宋体并无法修改的解决办法
  16. 求某一范围内的水仙花数 python
  17. JAVA实现简单的客户选购系统
  18. NXP I.MX芯片资源合集
  19. db2自定义函数能返回几个参数_DB2 用户自定义函数
  20. ”一“的客观形态与主观感受之间的关联性研究

热门文章

  1. Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕尺寸
  2. 【Tensorflow】小白入门实战基础篇(下)
  3. 8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器
  4. [AH2017/HNOI2017] 大佬
  5. 10分钟 在linux里创建.net core helloworld控制台程序
  6. 因HTTP的Header长度过长导致下载文件名出现乱码的问题
  7. SQL2005结合ROW_NUMBER()高效分页存储过程
  8. linux的系统移植——uboot常用命令
  9. 动态规划--Leetcode63.不同路径二
  10. mongodb的delete_大数据技术之MongoDB数据删除