利用shell脚本循环执行sql文件导出db2的数据

#!/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

猜你喜欢

转载自blog.csdn.net/martin9wind/article/details/84998142