IT虾米网

Shell脚本中获取select值详解

qq123 2021年04月04日 程序员 452 0

最近做一个数据清理,根据行号清理,所以需要查出这个行的最大最小值出来进行删除,如果靠手动每次去查,太麻烦所以就用在sh脚本当中执行SELECT语句,并将结果赋值给一个变量。

sh脚本如下

#! /bin/sh 
echo "Please enter the bankseq: \c" 
read bankseq 
echo "do you confirm enter the bankseq Y/N : " ; 
read result ; 
if [ "Y" = ${result} -o "y" = ${result} ] 
then 
i=1; 
usq_add_max=0; #userseq增加值 
db2 connect to xxx 
dd=`db2 "select min(userseq),max(userseq) from puser where bankseq=$bankseq"`; 
usq_min=`echo $dd|awk '{print $5}'` 
usq_max=`echo $dd|awk '{print $6}'` 
while((i<=1000)); 
  do  
i=$i+1; 
usq_add_max=$(($usq_min+50000)); 
  if [ $usq_add_max -gt $usq_max ] 
   then 
     usq_add_max=$usq_max; 
  fi 
db2 "delete from (select * from PUSERCERT where userseq <= $usq_add_max and userseq >= $usq_min and userseq in (select userseq from PUSER_TMP where bankseq=$bankseq))" >> Clear1_PUSERCERT.log 
usq_min=$(($usq_min+50000)); 
done; 
fi

说明 

 sh脚本查询出来赋值不好赋值,所以只能用到AWK处理文本文件的语言,进行截取。 


发布评论
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

sh 脚本执行sql文件传参数详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。