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
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle中update和select 关联操作
Jan 18 Oracle
SQL试题 使用窗口函数选出连续3天登录的用户
Apr 24 Oracle
Oracle锁表解决方法的详细记录
Jun 05 Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
js密码强度校验
2015/11/10 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
Python读写文件方法总结
2015/06/09 Python
深入学习Python中的装饰器使用
2016/06/20 Python
python获取list下标及其值的简单方法
2016/09/12 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
Python脚本调试工具安装过程
2021/01/11 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
协议书怎么写
2014/04/21 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
房展策划方案
2014/06/07 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
同意落户证明
2015/06/19 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
django学习之ajax post传参的2种格式实例
2021/05/14 Python
Python类方法总结讲解
2021/07/26 Python
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
Minikube搭建Kubernetes集群
2022/03/31 Servers