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
mybatis使用oracle进行添加数据的方法
Apr 27 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
Jun 04 Oracle
DBCA命令行搭建Oracle ADG的流程
Jun 11 Oracle
RPM包方式安装Oracle21c的方法详解
Aug 23 Oracle
Oracle 死锁的检测查询及处理
Sep 25 Oracle
Oracle安装TNS_ADMIN环境变量设置参考
Nov 01 Oracle
详细聊聊Oracle表碎片对性能有多大的影响
Mar 19 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 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
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
PHP防止跨域提交表单
2013/11/01 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
php header函数的常用http头设置
2015/06/25 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
Angular ElementRef简介及其使用
2018/10/01 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python不同版本的_new_不同点总结
2020/12/09 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
自我评价范文
2013/12/22 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
毕业生面试求职信
2014/06/23 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书