linux执行db2的sql脚本,LinuxShell自动执行当前目录所有DB2 SQL语句
该shell脚本用于自动执行当前目录下所有的SQL语句,分为以下几个步骤:
步骤1、删除当前目录下已存在的log日志文件
#删除当前目录下log日志文件
for test1 in `ls`
do
result3=$( echo $test1 | grep ".log" )
if [[ $result3 != "" ]]
then
rm -f "$result3"
fi
done
步骤2、如果SQL语句有先后依赖顺序,则进行特殊命名以便于排序
for test1 in `ls`
do
result4=$( echo $test1 | grep "CMTLRTLR" )
result5=$( echo $test1 | grep "CMTRMTRM" )
result6=$( echo $test1 | grep "CMTRMSPA" )
if [[ $result4 != "" ]]
then
mv "$result4" "a$result4"
fi
if [[ $result5 != "" ]]
then
mv "$result5" "b$result5"
fi
if [[ $result6 != "" ]]
then
mv "$result6" "c$result6"
fi
done
步骤3、输入第一个参数作为变量以确定DB2数据库执行环境
case $1 in
"FT")
db2 connect to FB01 user XXXXXX using XXXXXX >/dev/null;
db2 set schema CBODDBF1 >/dev/null;
;;
"UAT")
db2 connect to tb01 user XXXXXX using XXXXXX >/dev/null;
db2 set schema cboddbs1 >/dev/null;
;;
"TST1")
db2 connect to DB01 user XXXXXX using XXXXXX >/dev/null;
db2 set schema CBODDBT1 >/dev/null;
;;
"TST2")
db2 connect to db01 user XXXXXX using XXXXXX >/dev/null;
db2 set schema cboddbt2 >/dev/null;
;;
*)
echo "Warning:USAGE: ./test2.sh FT/UAT/TST1/TST2"
exit 1;
;;
esac
步骤4、执行SQL语句并形成日志
#执行SQL语句并形成日志
for test1 in `ls`
do
result3=$( echo $test1 | grep ".sql" )
if [[ $result3 != "" ]]
then
db2 -tvf "$result3" > "$result3".log
fi
done
步骤5、判断执行成功条数并输出结果至屏幕
#判断成功条数并输出结果至屏幕
for test1 in `ls`
do
result3=$( echo $test1 | grep ".sql.log" )
if [[ $result3 != "" ]]
then
result1=$( cat $result3 | grep -c "successfully" )
result2=$( cat $result3 | grep -c "SQLSTATE" )
if [[ $result1 != 0 ]]
then
echo "$result3:$result1 success"
fi
if [[ $result2 != 0 ]]
then
echo "$result3:$result2 unsuccess"
fi
fi
done
linux执行db2的sql脚本,LinuxShell自动执行当前目录所有DB2 SQL语句相关推荐
- BAT脚本如何自动执行 adb shell 以后的命令
@echo off echo su > temp.txt echo 其它命令 >> temp.txt adb shell < temp.txt del temp.txt 求问 ...
- SQL server 定时自动执行SQL存储过程
当一个存储过程是为了生成报表,并且是周期性的,则不需要人工干预,由SQL作业定时自动执行些SQL存储过程即可. 本示例,假设已需要定时执行的存储过程为:Pr_test 工具/原料 SQL Server ...
- linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件
基本步骤如下:1.创建包含sql命令的sql脚本文件文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:--创建表,使用"--"进行注释create table ...
- 【i.MX8 Linux】systemd 系统服务管理 - 开关机自动执行
Systemd 介绍 Systemd 是目前 Linux 系统上主要的系统守护进程管理工具,由于 init 一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面 init 也仅仅是执行启动脚本, ...
- python执行oracle的sql语句_在oracledb中执行SQL脚本一次执行一条语句
假设我有一个sql脚本,如下所示:--split statement 1 ALTER TABLE abs ADD (make VARCHAR2(2 byte), model varCHAR2(12 B ...
- batT脚本如何自动执行 adb shell 以后的命令(android抓包)
bat脚本自动执行 adb shell 以后的命令 @echo off echo su > test.txt echo 其它命令(如 cd /data) >> test.txt ad ...
- Linux系统中,shell脚本的异步执行
在编写shell时候,大部分时候串行执行即可,个别场景下要让多个shell并行执行: 下面说明一下shell执行的三种执行顺序: 1.shell管道"|" 使用过命令行Linux系 ...
- mysql定时sql脚本_定时执行的SQL脚本
因为要同步一个表,所以每天要同步一次数据,但是对SQL不是精通的我,为了测试写了一段代码来测试定时功能 创建一个存储过程,是用来插数据的,没有输出和输出参数 create or replace pro ...
- plsql批量执行SQL脚本 command window执行
PL/SQL developer ----->文件 ------>新建 ---->command window @sql文件路径:------>执行 (路径中不能有空格 ...
最新文章
- 对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
- [翻译] DTCoreText 从HTML文档中创建富文本
- linux uts namespace 提供了主机名和域名的隔离 docker中被用到
- Android系统编译过程中常见问题汇总(1)
- 8.Vue 事件处理
- mysql做主从复制配置案例
- 网络时延——发送时延和传播时延
- 实现Java监视的12个步骤程序存在缺陷
- python判断手机号码是否正确_Python实现随机生成手机号及正则验证手机号的方法...
- 使用bat将数据连续写入文件中
- 大学四年,这个Java自习路线,让我现在进了阿里
- 打光篇-Radiometric Photometric概念
- 电脑登陆出现此工作站和主域间的信任关系失败
- Emacs学习使用之路(一)
- 关于书籍“Composing Programs”1.6.3自定义函数的嵌套定义与非嵌套定义的比较
- 加速大数据分析和机器学习- Ziya Ma ( Intel Corp )
- nginx一会儿正常,一会儿404,nginx一会儿访问网页1,一会儿访问网页2
- unity 导出模型为fbx 格式
- 海康摄像头与萤石云web集成记录
- mac idea开启点击文件左侧文件自动跟随
热门文章
- C++ string的大小写转换
- vi-vim :删除、撤销、恢复删除、复制删除
- 本文实例讲解了PHP使用MySQL事物锁的实例,并备有注释加以详细说明
- destoon 自定义session丢失
- Mysql中添加汉字乱码无法识别问题
- 10位photoshop顶尖设计大师
- 什么是Web Service
- windows curl ssl版本编译
- 软考信息系统项目管理师_体系介绍_证书作用价值_报考条件_考生分析---软考高级之信息系统项目管理师001
- 微信公众号介绍_以及注册订阅号---微信公众号开发工作笔记0001