该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语句相关推荐

  1. BAT脚本如何自动执行 adb shell 以后的命令

    @echo off echo su > temp.txt echo 其它命令 >> temp.txt adb shell < temp.txt del temp.txt 求问 ...

  2. SQL server 定时自动执行SQL存储过程

    当一个存储过程是为了生成报表,并且是周期性的,则不需要人工干预,由SQL作业定时自动执行些SQL存储过程即可. 本示例,假设已需要定时执行的存储过程为:Pr_test 工具/原料 SQL Server ...

  3. linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件

    基本步骤如下:1.创建包含sql命令的sql脚本文件文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:--创建表,使用"--"进行注释create table ...

  4. 【i.MX8 Linux】systemd 系统服务管理 - 开关机自动执行

    Systemd 介绍 Systemd 是目前 Linux 系统上主要的系统守护进程管理工具,由于 init 一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面 init 也仅仅是执行启动脚本, ...

  5. python执行oracle的sql语句_在oracledb中执行SQL脚本一次执行一条语句

    假设我有一个sql脚本,如下所示:--split statement 1 ALTER TABLE abs ADD (make VARCHAR2(2 byte), model varCHAR2(12 B ...

  6. batT脚本如何自动执行 adb shell 以后的命令(android抓包)

    bat脚本自动执行 adb shell 以后的命令 @echo off echo su > test.txt echo 其它命令(如 cd /data) >> test.txt ad ...

  7. Linux系统中,shell脚本的异步执行

    在编写shell时候,大部分时候串行执行即可,个别场景下要让多个shell并行执行: 下面说明一下shell执行的三种执行顺序: 1.shell管道"|" 使用过命令行Linux系 ...

  8. mysql定时sql脚本_定时执行的SQL脚本

    因为要同步一个表,所以每天要同步一次数据,但是对SQL不是精通的我,为了测试写了一段代码来测试定时功能 创建一个存储过程,是用来插数据的,没有输出和输出参数 create or replace pro ...

  9. plsql批量执行SQL脚本 command window执行

    PL/SQL developer  ----->文件  ------>新建  ---->command window @sql文件路径:------>执行  (路径中不能有空格 ...

最新文章

  1. 对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
  2. [翻译] DTCoreText 从HTML文档中创建富文本
  3. linux uts namespace 提供了主机名和域名的隔离 docker中被用到
  4. Android系统编译过程中常见问题汇总(1)
  5. 8.Vue 事件处理
  6. mysql做主从复制配置案例
  7. 网络时延——发送时延和传播时延
  8. 实现Java监视的12个步骤程序存在缺陷
  9. python判断手机号码是否正确_Python实现随机生成手机号及正则验证手机号的方法...
  10. 使用bat将数据连续写入文件中
  11. 大学四年,这个Java自习路线,让我现在进了阿里
  12. 打光篇-Radiometric Photometric概念
  13. 电脑登陆出现此工作站和主域间的信任关系失败
  14. Emacs学习使用之路(一)
  15. 关于书籍“Composing Programs”1.6.3自定义函数的嵌套定义与非嵌套定义的比较
  16. 加速大数据分析和机器学习- Ziya Ma ( Intel Corp )
  17. nginx一会儿正常,一会儿404,nginx一会儿访问网页1,一会儿访问网页2
  18. unity 导出模型为fbx 格式
  19. 海康摄像头与萤石云web集成记录
  20. mac idea开启点击文件左侧文件自动跟随

热门文章

  1. C++ string的大小写转换
  2. vi-vim :删除、撤销、恢复删除、复制删除
  3. 本文实例讲解了PHP使用MySQL事物锁的实例,并备有注释加以详细说明
  4. destoon 自定义session丢失
  5. Mysql中添加汉字乱码无法识别问题
  6. 10位photoshop顶尖设计大师
  7. 什么是Web Service
  8. windows curl ssl版本编译
  9. 软考信息系统项目管理师_体系介绍_证书作用价值_报考条件_考生分析---软考高级之信息系统项目管理师001
  10. 微信公众号介绍_以及注册订阅号---微信公众号开发工作笔记0001