myShellScript

Pagination + Informix

INFORMIXDIR=/usr/informix
rowCount="your saved row count"
# safe the row count in a temp txt file
(
$INFORMIXDIR/bin/isql -s ??<<!EOF
set isolation to dirty read;
unload to '${rowCount}' 
select count(*) from ?? where dt between date('08/08/2008') and date('08/08/2008');
!EOF
)
COUNTER=0
#row count
for tmp in `awk '{print $1}' ${rowCount}`
do 
   COUNTER=`echo $tmp|cut -d "." -f1`
done

pageSize=100
offset=1
lastPageOffset=0

until [ offset -gt $COUNTER ]
do	
## start SQL
echo $offset
(
$INFORMIXDIR/bin/isql -s ??<<!EOF
set isolation to dirty read;       
unload to  '/${ENV}/??/lib/download/??/??.csv' DELIMITER ','   
select SKIP ${offset} FIRST ${pageSize} * from ??
where dt between date('08/08/2008') and date('08/08/2008')
;
!EOF
)
## end SQL
   	offset=`expr $offset + $pageSize`
   	if [ $offset -gt $COUNTER ] 
   	then
   		lastPageOffset=`expr $offset - $pageSize`
   		break
   	fi
done
## handle last page
if [ $lastPageOffset -gt 0 ]
then
	echo "this is last page"
	echo $lastPageOffset
## s
	(
$INFORMIXDIR/bin/isql -s ??<<!EOF
set isolation to dirty read;       
unload to  '/${ENV}/??/lib/download/??/??.csv' DELIMITER ','   
select SKIP ${offset} FIRST ${pageSize} * from ??
where dt between date('08/08/2008') and date('08/08/2008')
;
!EOF
)
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值