Oracle 项目中 SQL 脚本更新方式
DECLARE
hasVersion number(1);
dbVersion VARCHAR2(50);
BEGIN
SELECT COUNT(1) INTO hasVersion FROM ELB_SETTINGS E WHERE E.KEY='dbVersion'; --表中某个地方存当前版本信息
IF hasVersion=0 THEN
INSERT INTO ELB_SETTINGS(ID,TYPE_CODE,TYPE_NAME,KEY,VALUE,DESCRIPTION) VALUES(SYS_GUID(),'','数据库版本','dbVersion','','数据库版本,供升级使用'); --没有版本信息,添加一条
DBMS_OUTPUT.PUT_LINE('初始化数据库版本信息'); --输出更新日志
COMMIT;
END IF;
SELECT VALUE INTO dbVersion FROM ELB_SETTINGS E WHERE E.KEY='dbVersion'; --表中某个地方存当前版本信息
--数据库脚本更新判断
IF dbVersion<'' THEN
---这里写更新脚本的SQL
UPDATE ELB_SETTINGS SET VALUE='' WHERE KEY='dbVersion'; --更新完将版本信息更新
COMMIT;
DBMS_OUTPUT.PUT_LINE('201709010 的解本已更新'); --输出更新日志
END IF;
IF dbVersion<'' THEN
---这里写更新脚本的SQL
EXECUTE IMMEDIATE 'ALTER TABLE ELB_DEPARTMENT ADD (IS_EMERGENCY NUMBER(1) DEFAULT 0 ) ';--修改表结构,要使用 EXECUTE IMMEDIATE
UPDATE ELB_SETTINGS SET VALUE='' WHERE KEY='dbVersion'; --更新完将版本信息更新
COMMIT;
DBMS_OUTPUT.PUT_LINE('201709120 的解本已更新');--输出更新日志
END IF;
END;
Oracle 项目中 SQL 脚本更新方式的更多相关文章
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- Oracle使用超大SQL脚本文件恢复数据问题记录
在以前获取的Oracle数据库备份一般都是dmp文件,创建表空间和用户就直接使用imp或者impdp导入即可. 这一次遇到的情况比较特殊,对方提供数据时给我的是使用SQLPlus导出的SQL脚本文件, ...
- Oracle ------ SQLDeveloper中SQL语句格式化快捷键
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...
- C# web项目中sql数据库转sqlite数据库
最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去, ...
- C++项目中采用CLR的方式调用C#编写的dll
1.注意事项:在编写C#DLL类库时,最好不要出现相同的命名空间,否则在C++中调用可能会出现编译错误.2.将C#的源码生成的“dll”文件复制到C++项目中的Debug目录下3.将C++项目属性设置 ...
- vue 项目中的坑 在项目中遇到 持续更新ing
1.vue2.0 不支持 v-html 后绑定的内容使用过滤,可是有时候过滤必须使用-----------解决:通过methods中定义方法 然后 v-html='myMethods(string)' ...
- 关于Oracle数据库中SQL空值排序的问题
在Oracle中进行查询排序时,如果排序字段里面有空值的情况下,排序结果可能会达不到自己想要的结果. 如 select * from tableTest order by VISITS desc ...
- 开发日记(项目中SQL查询的优化)
今天发现自己之前写的一些SQL查询在执行效率方面非常不理想,于是尝试做了些改进. 需求为查询国地税表和税源表中,国税有而税源没有的条目数,之前的查询如下: SELECT COUNT(NAME) ...
- 【Oracle】glogin.sql脚本模板
[root@localhost ~]# su - oracle [oracle@localhost ~]$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql defin ...
随机推荐
- linux达人养成计划学习笔记(三)—— 帮助命令
一.帮助命令man 1.基本使用方法: man 命令 #获取指定命令的帮助选项: -f 查看命令拥有的帮助级别 相当于whatis,也可以使用whereis来查询 -num 调用对应等级的帮助文件 - ...
- Less入门与安装(转)
快速入门 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. Less 可以运行在 Node.浏览 ...
- 【Oracle】详解Oracle中的序列
序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 创建序列: 1. 要有创建序列的权限 create ...
- Maven运行Selenium报错org/w3c/dom/ElementTraversal
项目使用maven 构建,并且使用集成测试(integration-test). 在命令行中运行mvn clean deploy tomcat:undeploy时,报错: java.lang.NoCl ...
- jQuery.ajax发送image请求格式
1\请求端 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head run ...
- php非阻塞服务器
<?php class PHPSocketServer { const ERROR = 0; const LOG = 1; const DEBUG = 2; private $aConfig = ...
- windows Server 2012安装GUI
1.进入PowerShell 在命令行提示输入符处,直接输入: PowerShell 2.安装GUI 在命令行提示输入符处,直接输入: Install-WindowsFeature Server-Gu ...
- 使用 Cookie 而无需 ASP.NET 核心标识的身份验证
https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/cookie?tabs=aspnetcore2x#tabpan ...
- ubuntu14安装redis
1.下载源文件 wget http://download.redis.io/releases/redis-3.0.7.tar.gz 2.解压 tar vxzf redis-3.0.7.tar.gz 3 ...
- 获取IOS屏幕尺寸大小
转自:http://www.open-open.com/lib/view/open1395752090322.html 1.app尺寸,去掉状态栏 CGRect r = [ UIScreen main ...