說明:IbosExecHistory系列表是提供歷史數據查詢的歷史表;
IbosExecHistory為試圖;
IbosExecHistory_XXXX中“XXXX”為年份,供存放該年所有歷史數據,此類表做歷史數據備份用,不提供維護系統查詢;
IbosExecHistory_month_X中“X”為月份(1-9不加0),此類表做循環使用,根據維護系統要求查詢時提供6個月內數據,故在此前六個月之外的數據可清楚。最后及時清楚,否則將造成與往年數據共存現象,較難分離。若造成累計,建議將數據使用bcp導出后,對文件進行操作,不要在數據庫中進行操作。
工作原理:為減少對數據庫性能造成影響,使用bcp和truncate table操作,做truncate table時應謹慎。
本文目的:提供IbosExecHistory_month_X表歷史數據清除步驟。
注:以下步驟以2010年5月份歷史數據清除為例,在實際操作中需更改重要sql語句,謹記。
具體步驟:
1.查詢年份表中是否已有該月數據,結果為0,則順序執行
select count(*) from IbosExecHistory_2010 where SendTime>='2010-05-01' and SendTime<'2010-06-01'
2.查詢月份表中是否已清除,結果不為0,則順序執行
select count(*) from IbosExecHistory_month_5
3.使用bcp命令進行數據導出,bcp命令OS命令,在已安裝sybase數據庫客戶端的系統上方可使用
bcp test..IbosExecHistory_month_5 out d:\IbosExecHistory_month_5.txt -c -t "{" -r "\r\n" -Uibos -Pibos123 -Stfh28
4.使用bcp命令進行數據導入
bcp test..IbosExecHistory_2010 in d:\IbosExecHistory_month_5.txt -c -t "{" -r "\r\n" -Uibos -Pibos123 -Stfh28
5.清除月份表數據
truncate table IbosExecHistory_month_5