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 数据仓库ETL技术之多表插入语句的示例详解
Apr 12 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
Oracle创建只读账号的详细步骤
Jun 07 Oracle
使用Oracle跟踪文件的问题详解
Jun 28 Oracle
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Jul 16 Oracle
oracle连接ODBC sqlserver数据源的详细步骤
Jul 25 Oracle
RPM包方式安装Oracle21c的方法详解
Aug 23 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
instantclient客户端 连接oracle数据库
Apr 26 Oracle
Oracle中DBLink的详细介绍
Apr 29 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 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将XML转数组过程详解
2013/11/13 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
php支付宝APP支付功能
2020/07/29 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
JavaScript中this的学习笔记及用法整理
2020/02/17 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python实现的弹球小游戏示例
2017/08/01 Python
Python实现ping指定IP的示例
2018/06/04 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
幼儿园保育员岗位职责
2014/04/13 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
学生检讨书怎么写
2014/10/09 职场文书
庆七一活动简报
2015/07/20 职场文书
八年级语文教学反思
2016/03/03 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python