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 DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
oracle索引总结
Sep 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
Oracle使用别名的好处
Apr 19 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
Canvas实现微信红包照片效果
2018/08/21 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
用python实现的线程池实例代码
2018/01/06 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Python计算信息熵实例
2020/06/18 Python
python如何爬取网页中的文字
2020/07/28 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
副职竞争上岗演讲稿
2014/05/12 职场文书
家长给老师的感谢信
2015/01/20 职场文书
逃课检讨书
2015/01/26 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
分析并发编程之LongAdder原理
2021/06/29 Java/Android