Flyway——修改表名称与序列名称

文章目录

  • 前言
  • 脚本修改表名称
  • 修改序列

前言

开发中一次偶然的机会,Oracle 12c 更换为 11g ,需要对表名称的长度和序列长度做限制要求。

11g相对12c而言,表名称序列名称长度不能超过30个字符

在开发中做了更改,在测试环境做了测试验证,脚本ok。

脚本修改表名称

修改表名称,需要使用到Oracle的下面的命令。

alter table xxx表 rename to xxxx新的名称

写pl/sql脚本的作用是:

并不是每次都需要做更改,只需要符合条件时更改即可。

脚本如下所示:

declarecnt integer ;
beginSELECT COUNT(0)INTO cntFROM USER_ALL_TABLESwhere table_name = upper('xxxx旧表名');
if cnt = 1 thenEXECUTE IMMEDIATE 'alter table xxxx旧表名 RENAME TO xxxx新表名';
end if;
end;
/

修改序列

在oracle中,修改序列虽然也有语法,但是使用plsql进行脚本更新,总会报错。
在这里插入图片描述
后来经过验证,只能先删除再新增。但这么做必须保证一个要素点:

序列的最新值问题。
必须保证不影响业务流程的情况下,尽可能地让序列新增值能够顺延。

脚本如下所示:

-- 序列名称
declarecnt integer ;newseq integer ;v_startnum integer;
beginselect count(0)into cntfrom user_sequenceswhere sequence_name = upper('xxx旧的序列名称');select count(0)into newseqfrom user_sequenceswhere sequence_name = upper('xxxx新的序列名称');
if cnt = 1 thenif newseq = 0 then-- 查询当前数据表的最大记录数  +1  作为新序列的开始数select max(ID)+1into v_startnumfrom SYS_INDICATOR_CONFIG;-- 先删除旧序列EXECUTE IMMEDIATE 'drop sequence xxx旧序列名称 ';-- 创建新序列execute immediate 'create sequence xxxx新序列名称 minvalue 1maxvalue 9999999999999999start with ' ||v_startnum||'increment by 1cache 20';END if;
END if;
end;
/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/16616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tinkercad 建模21个小技巧

21个Tinkercad 建模小技巧 原文 参考文章:在 Tinkercad 中加快设计的 22 个技巧 一起来了解一下21个Tinkercad 3D建模小技巧,让你快人一步。 技巧1 Copy & Paste 文件,整合设计 想把文件A里面的模型拷贝到文件B里面? 很容…

JSON格式Python,Java,PHP等封装图片识别商品数据API方法

淘宝是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取淘宝天猫图片识别商品数据,您可以通过开放平台的接口或者直接访问淘宝天猫商城的网页来获取图片识别商品数据。以下是两种常用方法的介绍&#…

GCC编译选项

当使用GCC编译器时,可以根据不同的需求选择适当的编译选项来控制编译过程和生成的代码的行为。以下是一些常见的GCC编译选项的归纳: 优化选项: -O0: 不进行优化,保留原始的C代码结构。-O1: 启用基本优化级别,进行简单…

LXD/LXC 命令 报错 /proc/self/attr/current: Permission denied 解决

ubuntu突然死机,重启后lxd出毛病了 执行 lxd 和 lxc 命令就会报错 /proc/self/attr/current: Permission denied 再次重启也无效 找了一番,在外面找到了解决方案。 解决方法1: 执行这条命令即可,看命令,猜测意思是重新…

找不到Windows SDK版本 10.0.18362.0.请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决

找不到Windows SDK版本 10.0.18362.0.请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决 安装相应的组件 项目——重定目标解决方案——然后选择版本

商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

 1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Re…

【软件安装】MATLAB_R2021b for mac 安装

Mac matlab_r2021b 安装 下载链接:百度网盘 下载链接中所有文件备用。 我所使用的电脑配置: Macbook Pro M1 Pro 16512 系统 macOS 13.5 安装步骤 前置准备 无此选项者,自行百度 “mac 任何来源”。 1 下载好「MATLAB R2021b」安装文…

ACUPA修饰点击试剂:ACUPA DBCO,ACUPA-Dibenzocyclooctyne,常见使用说明

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ ACUPA-DBCO试剂 | 基础知识概述(部分): 中文名称:ACUPA修饰DBCO,ACUPA修饰点击试剂 英文名称:ACUPA-DBCO,ACUPA-Dibenzocyclooctyne CAS号&#xff1a…

小研究 - JVM 垃圾回收方式性能研究(二)

本文从几种JVM垃圾回收方式及原理出发,研究了在 SPEC jbb2015基准测试中不同垃圾回收方式对于JVM 性能的影响,并通过最终测试数据对比,给出了不同应用场景下如何选择垃圾回收策略的方法。 目录 3 几种垃圾回收器 3.1 串行回收器 3.2 并行回…

培训(c++题解)

题目描述 某培训机构的学员有如下信息: 姓名(字符串)年龄(周岁,整数)去年 NOIP 成绩(整数,且保证是 5 的倍数) 经过为期一年的培训,所有同学的成绩都有所提…

如何理解MySQL的事务

如何理解MySQL的事务 在日常开发中,我们不可避免地会碰到需要操作数据库的场景。这时,MySQL的事务处理就变得至关重要。如果我们对MySQL的事务概念和使用方法有深刻理解,那么在编程时就可以更好地保证数据的一致性和完整性。 什么是MySQL的…

javaScript 如何获取对象中非空的属性

要获取JavaScript对象中所有具有值的属性,您可以使用 Object.entries()方法结合Array.prototype.filter()方法。以下是一个示例代码: const obj {name: John,age: 30,city: ,country: USA };const propertiesWithValues Object.entries(obj).filter((…

lightdb23.3 ecpg支持多种注释方式

ecpg 支持多种注释方式 原版的pg只支持在 ecpg 的 EXEC SQL 中使用 ‘/**/’ 形式的注释,因为ecpg 会转换SQL, 把SQL 转换为一行,去掉了换行符,导致 ‘–’ 和 ‘//’ 这种行注释的使用会有问题。在oracle 的pro*c 中这两种注释都…

Jetson Nano之ROS入门 -- YOLO目标检测与定位

文章目录 前言一、yolo板端部署推理二、目标深度测距三、目标方位解算与导航点设定1、相机成像原理2、Python实现目标定位 总结 前言 Darknet_ros是一个基于ROS(机器人操作系统)的开源深度学习框架,它使用YOLO算法进行目标检测和识别。YOLO算…

2023光电赛小车题视觉代码开源(附详细方案说明)

github网址:HPC2H2/2023-China-National-University-Students-Opt-Sci-Tech-Competition-machine-vision-part: 2023光电赛小车题树莓派无畸变摄像头(备用小畸变摄像头)视觉方案 (github.com) gitee网址: 2023-China-National-U…

代理模式:控制访问的设计模式

代理模式:控制访问的设计模式 什么是代理模式? 代理模式是一种常见的设计模式,它允许通过代理对象来控制对真实对象的访问。代理模式的主要目的是在不改变原始对象的情况下,提供额外的功能或控制访问。 为什么要使用代理模式&a…

MFC使用png做背景图片

在MFC中使用png图片作为背景&#xff0c;你需要使用GDI库。以下是一个简单的示例&#xff1a; 首先&#xff0c;你需要在你的项目中包含GDI头文件和库。在你的stdafx.h&#xff08;或者你的项目预编译头文件&#xff09;中添加以下代码&#xff1a; #include <GdiPlus.h&g…

2023年Q2京东环境电器市场数据分析(京东数据产品)

今年Q2&#xff0c;环境电器市场中不少类目表现亮眼&#xff0c;尤其是以净水器、空气净化器、除湿机等为代表的环境健康电器。此外&#xff0c;像冷风扇这类具有强季节性特征的电器也呈现出比较好的增长态势。 接下来&#xff0c;结合具体数据我们一起来分析Q2环境电器市场中…

【LeetCode】198.打家劫舍

题目 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存放…

所有流的知识都有,IO流原理及流的分类

1、Java IO流原理 I/O是Input/Output的缩写&#xff0c; I/O技术是非常实用的技术&#xff0c;用于处理设备之间的数据传输。如读/写文件&#xff0c;网络通讯等。 Java程序中&#xff0c;对于数据的输入/输出操作以”流(stream)” 的方式进行。java.io包下提供了各种“流”类…