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 相关文章推荐
zabbix agent2 监控oracle数据库的方法
May 13 Oracle
ORACLE数据库应用开发的三十个注意事项
Jun 07 Oracle
ORACLE查看当前账号的相关信息
Jun 18 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
RPM包方式安装Oracle21c的方法详解
Aug 23 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
Oracle表空间与权限的深入讲解
Nov 17 Oracle
Oracle 触发器trigger使用案例
Feb 24 Oracle
详解SQL的窗口函数
Apr 21 Oracle
Oracle用户管理及赋权
Apr 24 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
Oracle中日期的使用方法实例
Jul 07 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
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
js arguments,jcallee caller用法总结
2013/11/30 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
简单谈谈python中的语句和语法
2017/08/10 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python解析含有重复key的json方法
2019/01/22 Python
python实现猜拳小游戏
2020/04/05 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
P/Invoke是什么
2015/07/31 面试题
办公室助理岗位职责
2013/12/25 职场文书
2015年党性分析材料
2014/12/19 职场文书
Golang二维数组的使用方式
2021/05/28 Golang