ORACLE XXX序列 goes below MINVALUE 无法实例化的处理办法

2023-10-14 17:28

本文主要是介绍ORACLE XXX序列 goes below MINVALUE 无法实例化的处理办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--序列增加区分
--删除未使用序列表
DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLECT_BIZ_DETAIL_ID';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_INTELLECT_BIZ_DETAIL_ID';END;END IF;
END;
/
-----------------------------------------------------------------添加SEQ_INTELLECT_BIZ_ID_0
DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLECT_BIZ_ID_0';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_INTELLECT_BIZ_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;
END;
/--添加SEQ_INTELLECT_BIZ_ID_1
DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLECT_BIZ_ID_1';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_INTELLECT_BIZ_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;  
END;
/--删除原有的SEQ_INTELLECT_BIZ_ID
DECLARE V_CNT INT;V_NUM INT; sequence_name VARCHAR2(100);
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLECT_BIZ_ID';IF V_CNT=1 THEN sequence_name := 'SEQ_INTELLECT_BIZ_ID';EXECUTE IMMEDIATE 'SELECT '||sequence_name||'.NEXTVAL FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_0 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_1 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'SELECT SEQ_INTELLECT_BIZ_ID_0.nextval FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_0 INCREMENT BY 1';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_INTELLECT_BIZ_ID_1 INCREMENT BY 1';EXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_INTELLECT_BIZ_ID';END IF;
END;
/
---------------------------------------------------------------DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_PRODUCER_LOG_ID_0';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_PRODUCER_LOG_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;  
END;
/DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_PRODUCER_LOG_ID_1';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_PRODUCER_LOG_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;  
END;
/--删除原有的SEQ_INTELLECT_PRODUCER_LOG_ID
DECLARE V_CNT INT;V_NUM INT; sequence_name VARCHAR2(100);
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLECT_PRODUCER_LOG_ID';IF V_CNT=1 THEN sequence_name := 'SEQ_INTELLECT_PRODUCER_LOG_ID';EXECUTE IMMEDIATE 'SELECT '||sequence_name||'.NEXTVAL FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_0 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_1 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'SELECT SEQ_PRODUCER_LOG_ID_0.nextval FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_0 INCREMENT BY 1';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PRODUCER_LOG_ID_1 INCREMENT BY 1';EXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_INTELLECT_PRODUCER_LOG_ID';END IF;
END;
/--------------------------------------------------------------------DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_BIZ_LOG_DETAIL_ID_0';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_0 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;  
END;
/DECLARE V_CNT INT;
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_BIZ_LOG_DETAIL_ID_1';IF V_CNT=1 THEN BEGINEXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END;ELSE EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999 NOCYCLE CACHE 20 NOORDER';END IF;  
END;
/--删除原有的SEQ_INTELLET_BIZ_LOG_DETAIL_ID
DECLARE V_CNT INT;V_NUM INT; sequence_name VARCHAR2(100);
BEGINSELECT COUNT(*) INTO V_CNT FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQ_INTELLET_BIZ_LOG_DETAIL_ID';IF V_CNT=1 THEN sequence_name := 'SEQ_INTELLET_BIZ_LOG_DETAIL_ID';EXECUTE IMMEDIATE 'SELECT '||sequence_name||'.NEXTVAL FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_0 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_1 INCREMENT BY ' || V_NUM || ' MINVALUE 0';EXECUTE IMMEDIATE 'SELECT SEQ_BIZ_LOG_DETAIL_ID_0.nextval FROM dual' INTO V_NUM;EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_0 INCREMENT BY 1';EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_BIZ_LOG_DETAIL_ID_1 INCREMENT BY 1';EXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_INTELLET_BIZ_LOG_DETAIL_ID';END IF;
END;
/EXIT; 

这篇关于ORACLE XXX序列 goes below MINVALUE 无法实例化的处理办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/212008

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对