当前位置: 首页 > news >正文

【Oracle】修改已经存在的序列的当前值

前情提要

在oracle中一般使用序列来实现ID自增。但是oracle中序列维护的没有mysql那么好。只是单存的递增。
比如新建了一个序列,从1开始,每次递增1。此时我向数据库里插入一条id=10的数据。那么在序列查询到10的时候,插入就会报错。
所以比较简单的解决办法就是,让现在序列的起始值>目前id的最大值。

修改序列当前的值

oracle对于已经创建序列,没法直接修改当前序列的值。
但是可以使用修改步长的方式,来修改序列当前值。

-- 修改序列的步长
Alter Sequence my_sequence Increment By 100;
-- 查询一次序列
SELECT my_sequence.NEXTVAL as roleId from DUAL;
-- 再将步长修改为1
Alter Sequence my_sequence Increment By 1;

【扩展】序列的其他操作

-- 1.创建序列
CREATE SEQUENCE my_sequence START WITH 1;
-- 2.删除序列
DROP SEQUENCE my_sequence;
-- 3.修改序列起始值,如果序列已经使用(已经通过序列生成过值),oracle不允许直接改变起始值
Alter Sequence my_sequence START WITH 1;
-- 4.修改序列最大值
Alter Sequence my_sequence Maxvalue 1000;
-- 5.启动序列的循环
Alter Sequence my_sequence Cycle;
http://www.lryc.cn/news/361927.html

相关文章:

  • 记一次netty客户端的开发
  • 策略模式结合Spring使用
  • 基于 RNNs 对 IMDB 电影评论进行情感分类
  • Midjourney绘画参数设置详解
  • 计算机毕业设计 | springboot养老院管理系统 老人社区管理(附源码)
  • 事务与并发控制
  • spring boot 中的异步@Async
  • 【C++/STL】list(常见接口、模拟实现、反向迭代器)
  • wms中对屏幕进行修改wm size设置屏幕宽高原理剖析
  • java面试题及答案2024,java2024最新面试题及答案(之一)
  • Go Modules 使用
  • 结账和反结账
  • k8s怎么监听资源的变更
  • Cobaltstrike常用功能
  • UWP与WPF:微软两大UI框架
  • 【面试】字节码文件是跨平台的吗?
  • SpringCloud中注册中心Nacos的下载与使用步骤
  • 心缘Hub小程序
  • 攻防世界maze做法(迷宫题)
  • PID——调参的步骤
  • Deno入门:Node.js的现代替代品
  • WIFI 万[néng]钥匙 v5.0.10/v4.9.80 SVIP版!
  • JCR一区级 | Matlab实现TCN-BiLSTM-MATT时间卷积双向长短期记忆神经网络多特征分类预测
  • redis之发布与订阅
  • LLM主流开源代表模型
  • Openharmony的usb从框架到hdf驱动流程梳理
  • Apache Doris 基础 -- 数据表设计(数据模型)
  • “雪糕刺客”爆改“红薯刺客”,钟薛高给了消费品牌哪些启示?
  • 多输入多输出非线性对象的模型预测控制—Matlab实现
  • 多项分布模拟及 Seaborn 可视化教程