为保证脚本的可重复执行以及丢失,涉及到数据库环境的移植等,就会使用可重复执行脚本,此处仅提供相关一些模板

说明下:该脚本需要在命令窗口执行,而不是在SQL窗口执行

创建序的脚本

 /**
* 作者:zkongbai
* 时间:11-30 09:22:10
* 描述:创建序列【SEQ_ZZ_DOUBLE_RANDOM_TASK】
* 脚本可重复执行
*/
PROMPT SEQ_ZZ_DOUBLE_RANDOM_TASK 双随机事件脚本 创建序列
DECLARE
FLAG_NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO FLAG_NUM
FROM USER_SEQUENCES ASQ
WHERE ASQ.SEQUENCE_NAME = UPPER('SEQ_ZZ_DOUBLE_RANDOM_TASK');
IF FLAG_NUM = 0 THEN
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_ZZ_DOUBLE_RANDOM_TASK MINVALUE 1 MAXVALUE 999999999 START WITH 1 INCREMENT BY 1 CACHE 20';
END IF;
END;
/
COMMIT;

创建表的脚本

 /**
* 作者:zkongbai
* 时间:11-21 09:22:10
* 描述:创建表【双随机任务,序:SEQ_ZZ_DOUBLE_RANDOM_TASK】
* 脚本可重复执行
*/
PROMPT T_ZZ_DOUBLE_RANDOM_TASK 创建表
DECLARE
FLAG_NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO FLAG_NUM
FROM USER_TABLES ATS
WHERE ATS.TABLE_NAME = UPPER('T_ZZ_DOUBLE_RANDOM_TASK');
IF FLAG_NUM = 0 THEN
EXECUTE IMMEDIATE 'CREATE TABLE T_ZZ_DOUBLE_RANDOM_TASK
(
ID NUMBER(8) not null,
EVENT_ID NUMBER(8),
JUDGE_COMMENT VARCHAR2(500),
JUDGE_RESULE CHAR(1),
JUDGE_PERSON NUMBER(8),
CREATE_TIME DATE,
STATUS CHAR(1),
UPDATE_TIME DATE,
CREATE_USER_ID NUMBER(8),
CREATE_ORG_CODE VARCHAR2(32),
CONSTRAINT PK_T_ZZ_DOUBLE_RANDOM_TASK PRIMARY KEY (ID)
)';
-- ADD COMMENTS TO THE TABLE
EXECUTE IMMEDIATE 'COMMENT ON TABLE T_ZZ_DOUBLE_RANDOM_TASK IS ''双随机任务,序:SEQ_ZZ_DOUBLE_RANDOM_TASK''';
-- ADD COMMENTS TO THE COLUMNS
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.EVENT_ID IS ''事件ID''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.JUDGE_COMMENT IS ''评价意见''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.JUDGE_RESULE IS ''评价结果(1:合格,2:不合格)''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.JUDGE_PERSON IS ''评价人''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.STATUS IS ''状态.1:有效,0:无效''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.CREATE_USER_ID IS ''创建人''';
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.CREATE_ORG_CODE IS ''创建组织''';
END IF;
END;
/
COMMIT;

修改字段的脚本

 /**
* 作者:zkongbai
* 时间:2018/1/11
* 描述:双随机任务添加字段 TASK_TYPE
* 脚本可重复执行
*/
PROMPT T_ZZ_DOUBLE_RANDOM_TASK 双随机任务添加字段 TASK_TYPE
DECLARE
FLAG_NUM NUMBER;
BEGIN
SELECT COUNT(*) INTO FLAG_NUM
FROM USER_TABLES ATS
WHERE ATS.TABLE_NAME = UPPER('T_ZZ_DOUBLE_RANDOM_TASK');
IF FLAG_NUM > 0 THEN
SELECT COUNT(*) INTO FLAG_NUM FROM USER_TAB_COLUMNS T
WHERE T.TABLE_NAME = UPPER('T_ZZ_DOUBLE_RANDOM_TASK') AND T.COLUMN_NAME = UPPER('TASK_TYPE');
IF FLAG_NUM=0 THEN
EXECUTE IMMEDIATE 'ALTER TABLE T_ZZ_DOUBLE_RANDOM_TASK ADD TASK_TYPE CHAR(1)';
-- ADD COMMENTS TO THE COLUMNS
EXECUTE IMMEDIATE 'COMMENT ON COLUMN T_ZZ_DOUBLE_RANDOM_TASK.TASK_TYPE IS ''任务类型: 1或空:市级双随机任务,2:镇街级随机任务''';
END IF;
END IF;
END;
/
COMMIT;

常用oracle可重复执行的脚本模板的更多相关文章

  1. oracle可重复执行脚本(添加字段)

    --添加债券期限字段 declare cn integer; begin cn := 0; select count(*) into cn from user_tab_cols t where t.t ...

  2. 重复执行shell脚本。

    while ((1)); do gclient runhooks; sleep 2; donewhile ((1)); do ifconfig; sleep 1; done

  3. 如何解决 shell 脚本重复执行的问题

    在开发过程中,经常会使用shell脚本去完成定时备份的任务,普遍的做法是通过系统的定时任务定时执行备份脚本 设想这样一种场景,本次备份时间到了,自动执行备份脚本,如果备份比较耗时的话,会一直持续到下一 ...

  4. java之生成可重复执行的sql脚本

    在实际项目开发过程中,sql脚本需要多次执行.而一般的DML和DDL语句一般只能执行一次,再次执行执行时就会报错(操作对应已存在/不存在),所以必须将sql脚本生成可重复执行的.本文共分为4部分:1. ...

  5. 安装ORACLE高可用RAC集群11g执行root脚本的输出信息

    安装ORACLE高可用RAC集群11g执行root脚本的输出信息 作者:Eric 微信:loveoracle11g [root@node1 ~]# /u01/app/oraInventory/orai ...

  6. flock防止crontab脚本周期内未执行完重复执行(转)

    如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...

  7. InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法

    简述 InstallShield已经内建了对MySQL和Oracle的支持.但是这个功能是通过ODBC实现的,它对SQL脚本的格式要求非常严格,因此已经通过官方客户端测试的脚本在IS中执行时往往就会报 ...

  8. Oracle命令行模式,批量执行SQL脚本

    由于项目不同,使用的数据库也不一样,通常MySQL 比较方便简介,相对而言Oracle比较繁琐一点,尤其是堡垒机的连接的时候, 通过堡垒机登陆,数据库服务器,通过下面的脚本执行进入到命令行模式执行SQ ...

  9. mysql 重复执行创建表、新增字段脚本

    #bigint 可重复执行创建表脚本 1 Create Table If Not Exists `库名`.`表名`( 2 字段列表 3 ) ENGINE=InnoDB DEFAULT CHARSET= ...

随机推荐

  1. http请求requestUtils

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  2. [luogu P3313] [SDOI2014]旅行

    [luogu P3313] [SDOI2014]旅行 题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神 ...

  3. Source Insight 4.0安装使用教程

    一.说明 Source Insight是什么:Source Insight是一款代码编缉.浏览.分析工具. Source Insight与文本编缉器有什么区别:Notepad++等文本编缉器也可以编缉 ...

  4. Kubernetes 实践指南之Kubernetes 的命令行工具详解

    kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行管理.本节内容将对kubectl的子命令和用法进行详细描述. 一.kubectl 用法概述 kubectl语 ...

  5. pycharm与python环境配置

    一.安装python开发环境 在win7的64位系统上安装,然后用cmd命令提示行输入python,出错,网上给出了解决方案,也操作成功了,但是比较麻烦,没关系,安装Anaconda3即可(默认安装即 ...

  6. 跟随我在oracle学习php(11)

    数组专题 数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ consol ...

  7. 微信浏览器无法跳转到apk下载链接 微信屏蔽了我的APP下载链接如何处理

    由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时,界面显示一片空白,容易误导以为在下载呢 <!DOCTYPE html><html>&l ...

  8. luogu1706全排列

    #include<bits/stdc++.h> using namespace std; +]; +]; int search(int k); int print(); int n,num ...

  9. 第一次实验报告x

    C程序设计实验报告 实验项目:2.3.3字符与ASCII码,2.3.4运算符的表达式与应用,2.3.5顺序结构应用程序,3.3.1数学函数的算法描述,3.3.2鸡兔同笼的算法描述,3.3.3确定坐标的 ...

  10. 6 python高级数据处理和可视化

    6.2. pyplot作图 1.折线图和散点图 t = np.arange(0,4,0.1) plt.plot(t,t,'o',t,t+2,t,t**2,'o') plt.show() 2.柱线图 p ...