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
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
详解SQL的窗口函数
Apr 21 Oracle
分析SQL窗口函数之取值窗口函数
Apr 21 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 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
php仿ZOL分页类代码
2008/10/02 PHP
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
一个入门级python爬虫教程详解
2021/01/27 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
英语专业学子个人的自我评价
2013/10/02 职场文书
《长城》教学反思
2014/02/14 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
2015年领班工作总结
2015/04/29 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
react 项目中引入图片的几种方式
2021/06/02 Javascript