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 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
快速学习Oracle触发器和游标
Jun 30 Oracle
oracle索引总结
Sep 25 Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
oracle重置序列从0开始递增1
Feb 28 Oracle
oracle删除超过N天数据脚本的方法
Feb 28 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
Oracle 多表查询基本语法实例
Apr 18 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
Oracle锁表解决方法的详细记录
Jun 05 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无刷新上传文件实现代码
2011/09/19 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
Python入门篇之列表和元组
2014/10/17 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
青年志愿者活动总结
2014/04/26 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
单身证明范本
2015/06/15 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python