最近作一個數據清理,根據行號清理,因此須要查出這個行的最大最小值出來進行刪除,若是靠手動每次去查,太麻煩因此就用在sh腳本當中執行SELECT語句,並將結果賦值給一個變量。spa
sh腳本以下code
#! /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
說明 blog
sh腳本查詢出來賦值很差賦值,因此只能用到AWK處理文本文件的語言,進行截取。 class