Oracle 序列

一、定义

用于提供一系列唯一数字的数据库对象

二、简单序列

2.1 语法

lua 复制代码
create sequence 序列名称

通过序列的伪列来访问序列的值

nextval 返回序列的下一个值

currval 返回序列的当前值

注意:我们在刚建立序列后,无法提取当前值,只有先提取下一个值才能再次提取当前值

2.2 示例

2.2.1 创建

2.2.2 查询序列的下一个值

第一次执行

第二次执行

第三次执行

2.2.3 查询当前序列值

select sql_test.currval from dual

三、复杂序列

3.1 语法

less 复制代码
CREATE SEQUENCE 序列名
    // 递增值n,如果时正数就递增,负数就递减,默认为1
  [INCREMENT BY n] 
  
    // 开始的值,递增默认时minvalue,递减默认时maxvalue
  [START WITH n]
  
    // 最大值 or 最小值
  [{MAXVALUE/ MINVALUE n| NOMAXVALUE}]
  
    // 循环/不循环
  [{CYCLE|NOCYCLE}]
  
    // 分配并存入内存中
  [{CACHE n| NOCACHE}];

3.2 案例

3.2.1 有循环值的最大序列

当序列超过最大值时会报如下错误:

从10开始,每次递增10,最大为100

第一次执行:

第二次执行:

3.2.2 循环的序列

默认循环20次,当增长的值超过最大值时,重新从最小输出

三、修改和删除序列

3.1 修改

注:不能修改序列的start

sql 复制代码
alter sequence 序列名称 maxvalue 5000 cycle

3.2 删除

sql 复制代码
drop sequence 序列名称
相关推荐
文心快码BaiduComate1 天前
我用文心快码Spec 模式搓了个“pre作弊器”,妈妈再也不用担心我开会忘词了(附源码)
前端·后端·程序员
aiopencode1 天前
iOS 性能监控 运行时指标与系统行为的多工具协同方案
后端
E***U9451 天前
从新手到入门:如何判断自己是否真的学会了 Spring Boot
数据库·spring boot·后端
招风的黑耳1 天前
智慧养老项目:当SpringBoot遇到硬件,如何优雅地处理异常与状态管理?
java·spring boot·后端
回家路上绕了弯1 天前
分布式锁原理深度解析:从理论到实践
分布式·后端
磊磊磊磊磊1 天前
用AI做了个排版工具,分享一下如何高效省钱地用AI!
前端·后端·react.js
hgz07101 天前
Spring Boot Starter机制
java·spring boot·后端
daxiang120922051 天前
Spring boot服务启动报错 java.lang.StackOverflowError 原因分析
java·spring boot·后端
我家领养了个白胖胖1 天前
极简集成大模型!Spring AI Alibaba ChatClient 快速上手指南
java·后端·ai编程
一代明君Kevin学长1 天前
快速自定义一个带进度监控的文件资源类
java·前端·后端·python·文件上传·文件服务·文件流