db2,利用shell脚本循环执行sql文件

#!/bin/bash

#开始连接数据库
db2 connect to xxx

#执行sql
sql="select aa from table"
aas=`db2 ${sql}`

#返回值判断
if [ $? -ne 0 ]
then
#显示db2返回的错误信息
echo "${aas}"
exit 1
fi

#对取得的数据进行处理,循环。
echo "$aas" | sed -e '4,/^$/!d;/^$/d' |
while read aa
do
  echo "当前值:${aa}"
  cp file.sql file_tmp.sql
  #利用替换来达到给sql文件传递参数的效果
  perl -i -pe 's/\#aa/'${aa}'/g' file_tmp.sql
  #执行sql文件。sql文件需已英文分号结尾
  db2 -tf file_tmp.sql
  rm file_tmp.sql
done

#断开数据库连接
db2 terminate

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值