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设置DB、监听和EM开机启动的方法
Apr 25 Oracle
oracle通过存储过程上传list保存功能
May 12 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
C#连接ORACLE出现乱码问题的解决方法
Oct 05 Oracle
详解Oracle数据库中自带的所有表结构(sql代码)
Nov 20 Oracle
Oracle数据库中通用的函数实例详解
Mar 25 Oracle
分析SQL窗口函数之排名窗口函数
Apr 21 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
Oracle中DBLink的详细介绍
Apr 29 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与Mysql的一些简单的操作
2015/02/26 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
python ip正则式
2009/05/07 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
django之常用命令详解
2016/06/30 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python实现屏保计时器的示例代码
2018/08/08 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
python五子棋游戏的设计与实现
2019/06/18 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python模拟斗地主发牌
2020/04/22 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
小学生美德少年事迹材料
2014/08/24 职场文书
埃及王子观后感
2015/06/16 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS