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
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
oracle索引总结
Sep 25 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
分析SQL窗口函数之取值窗口函数
Apr 21 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 Oracle
oracle设置密码复杂度及设置超时退出的功能
Jun 28 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错误、异常处理类
2014/03/21 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
prototype 的说明 js类
2006/09/07 Javascript
js模拟实现Array的sort方法
2007/12/11 Javascript
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
Python解释执行原理分析
2014/08/22 Python
Python性能优化的20条建议
2014/10/25 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python定时任务工具之APScheduler使用方式
2019/07/24 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
浅析Python面向对象编程
2020/07/10 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
产品售后服务承诺书
2014/05/21 职场文书
宿舍标语大全
2014/06/19 职场文书
个人职业及收入证明
2014/10/13 职场文书
个人务虚会发言材料
2014/10/20 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
小学主题班会教案
2015/08/17 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang