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

server/2024/11/15 4:26:15/

前情提要

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.ppmy.cn/server/45896.html

相关文章

3225mm晶振SG3225CAN专用于蓝牙模块应用

在无线通信技术迅猛发展的今天,蓝牙技术因其低功耗、高传输速率和广泛的应用范围,成为物联网和智能设备的重要组成部分。晶振在蓝牙模块中无处不在,大部分的智能手机,打开设置工具里面就会有一个是蓝牙功能,蓝牙技术引…

实验名称:字符串练习

欢迎收看你的月亮我的心!大家好!我是肖老师,我又回来了! 一、实验目的: 统计不同字符(字母、数字、空格、其他字符)的个数编写程序,检查字符串”Life is short.I use python”中是否包含字符串…

c++指针的*

1.*运算符 *运算符被称为间接值(indirect value)或者解除引用(dereferencing)运算符 将其应用于指针可以得到该地址处存储的值 由于 * 也有乘法的意思,c通过上下文来确定是乘法还是解除引用 2.如何声明和初始化指针 …

一些图形界面的工具可以帮助你模拟点击和进行其他浏览器自动化操作

1. Selenium IDE Selenium IDE 是一个用于记录、编辑和调试测试的集成开发环境。它有一个图形界面,允许你通过点击和录制来创建测试用例。它支持Chrome和Firefox浏览器。 安装和使用步骤: 在Chrome或Firefox的扩展商店中搜索“Selenium IDE”并安装。打开Selenium IDE扩展。…

Linux系统安全及其应用

文章目录 一、用户账号安全管理1.1 系统账号的清理1.2 对用户账号的操作1.2.1 锁定和解锁用户1.2.2 删除无用账号 1.3 对重要文件进行锁定1.4 密码安全控制1.4.1 新建用户1.4.2 已有用户 二、历史命令管理2.1 历史命令限制2.2 自动清空历史命令 三、设置终端登录的安全管理3.1 …

说明白计算机网络之TCP的流量控制与拥塞控制之慢开始算法与拥塞避免算法

TCP的流量控制 利用滑动窗口实现流量控制 设A向B发送数据,连接建立时候,B告诉A自身的接收窗口大小,A的发送窗口大小不能超过接收方B的窗口大小 流量控制:发送方发送速率不要太快,要让接收方来得及接收。窗口大小的单…

轻松入门:HTML网页制作指南 进阶篇

一.表格标签 1.1表格的主要作用 表格不是用来布局页面的,而是用来展示数据的。 1.2基本语法 <table><tr><td>单元格内的文字</td>...</tr>...</table>说明&#xff1a; 1.<table> </table> 是用于定义表格的标签。 2.<t…

长短时记忆RAG来啦,仿照人脑结构,成本降低20倍,表现提高20%!

自从GPT-4问世之后&#xff0c;大模型似乎变得愈发聪明&#xff0c;拥有了"百科全书"般的知识储备。但它们真的已经接近人类智慧了吗&#xff1f; 事实并非如此&#xff0c;大模型在知识整合和长期记忆方面仍存在明显短板&#xff0c;而这恰恰是人脑的强项。人类的大…