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 表清理完毕!\