db2自动删除脚本

echo "输入日期 [$CLRDATE]"
tableName="bt_clear_trans"

db2="/home/db/db2/v9.7/bin/db2"
echo "\n `date` 开始清理 $CLRDATE table $tableName "
db2 connect to cmbcepay user epay using epay
$db2 -x "select count(1) from '$tableName' where TRANS_CLEARDATE='$CLRDATE'" > /tmp/num.tmp
if [ $? -ne 0 ]
then
if [ ! -s /tmp/num.tmp ]
then
echo "not found"
else
echo "select from $tableName error........."
exit 1
fi
fi

FORM_COUNT_A=`awk '{ print $1}' /tmp/num.tmp`
FORM_COUNT=`expr ${FORM_COUNT_A} / 10000 + 1`
echo `date` "number ${FORM_COUNT_A} / 10000 + 1 = ${FORM_COUNT}"

i=1
while [[ $i -le ${FORM_COUNT} ]]
do
echo `date` "loop $i / ${FORM_COUNT} 数据日期:$CLRDATE"
#$db2 "delete from '$tableName' where TRANS_CLEARDATE='$CLRDATE' fetch first 10000 rows only";
((i+=1))
done
$db2 -v connect reset;

$db2 -v terminate;

echo `date` $CLRDATE table $tableName 表清理完毕!\

posted @ 2017-12-26 13:57  W&L  阅读(182)  评论(0编辑  收藏  举报