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笔记
Apr 05 Oracle
Oracle 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
Oracle11g R2 安装教程完整版
Jun 04 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
快速学习Oracle触发器和游标
Jun 30 Oracle
oracle索引总结
Sep 25 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
详解SQL的窗口函数
Apr 21 Oracle
清空 Oracle 安装记录并重新安装
Apr 26 Oracle
Oracle锁表解决方法的详细记录
Jun 05 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
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python获取引用对象的个数方式
2019/12/20 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python新手学习raise用法
2020/06/03 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
某公司面试题
2012/03/05 面试题
外贸实习生自荐信范文
2013/11/24 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
服装厂厂长岗位职责
2013/12/27 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
走进毛泽东观后感
2015/06/04 职场文书
小学运动会入场词
2015/07/18 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书