oracle重置序列从0开始递增1


Posted in Oracle onFebruary 28, 2022

oracle序列创建以后,如果想重置序列从 0 开始,逐渐递增1,可以采用如下存储过程:

create or replace
procedure reset_seq( p_seq_name in varchar2 )
is
    l_val number;
begin
    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;

    execute immediate
    'alter sequence ' || p_seq_name || ' increment by -' || l_val ||
                                                          ' minvalue 0';

    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;

    execute immediate
    'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
end;

存储过程创建以后,调用该存储过程,参数是要重置的序列名称:

call reset_seq(‘test_seq’);

使用下面的SQL语句查询需要重置的序列:

SELECT  a.sequence_name 序列名称,
a.min_value 序列最小值,
to_char(to_number( a.max_value)) 序列最大值,
a.last_number 序列当前值,
CASE  a.last_number WHEN 1 THEN '--不需要重置;' ELSE
'CALL seq_reset(''' || a.sequence_name || ''');' END 重置序列脚本,
'DROP SEQUENCE ' || a.sequence_name 删除序列脚本,
'RENAME ' || a.sequence_name || ' TO {newname}'  重命名脚本
FROM USER_SEQUENCES a WHERE a.last_number<>1
ORDER BY a.sequence_name ASC;

到此这篇关于oracle重置序列的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Oracle 相关文章推荐
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
使用springboot暴露oracle数据接口的问题
May 07 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
oracle重置序列从0开始递增1
Feb 28 Oracle
Oracle使用别名的好处
Apr 19 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
Oracle锁表解决方法的详细记录
Jun 05 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 Oracle
Oracle查看表空间使用率以及爆满解决方案详解
Jul 23 Oracle
Oracle 触发器trigger使用案例
Feb 24 #Oracle
Oracle中update和select 关联操作
Jan 18 #Oracle
使用Oracle命令进行数据库备份与还原
Dec 06 #Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Oracle表空间与权限的深入讲解
Nov 17 #Oracle
详解Oracle块修改跟踪功能
Nov 07 #Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 #Oracle
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
PHP系统流量分析的程序
2006/10/09 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP多文件上传类实例
2015/03/07 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
python如何获取服务器硬件信息
2017/05/11 Python
Django验证码的生成与使用示例
2017/05/20 Python
python如何生成各种随机分布图
2018/08/27 Python
python实现最小二乘法线性拟合
2019/07/19 Python
python Django 创建应用过程图示详解
2019/07/29 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
python 实现客户端与服务端的通信
2020/12/23 Python
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
小学校园广播稿(3篇)
2014/09/19 职场文书
个人年终总结结尾
2015/03/06 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
战马观后感
2015/06/08 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python