列名:
FileName DocTypeID?????BatchNum?JobNum? PageNum?? JobState
文件名??????文件的類型??????批次號?????Job號????? 頁數?????????? 文件的狀態值
?
?????? 具體的邏輯是:文件分不同的
DocTypeID即文件的類型 如果對文件進行處理比如說 銀行等部門對單據先要進行掃描然后錄入 校對等處理,那么就要分為不同的批次即不同的
BatchNum?在這
BatchNum?還可能有多個
JobNum? 而在每個
JobNum?里存放著文件,有時文件分多頁 也就是
PageNum????而進行到最后是將這些單據存到數據庫中,只能一頁一頁的存,問題就出現了 在我們進行掃描 錄入 校對 入庫時
JobState隨之改變??當入庫過程中,網絡發生中斷時, 一個
JobNum?里的
PageNum的JobState就不相同了我們把已入庫的設置為“6“未入庫的設置為“2”? ?要進行事務回滾必須要找到出現異常的文件?? 在這里就要用的關鍵字“IN”SQL語句如下:
select DocTypeID,BatchNum,JobNum from JobQueue where JobState='2' and BatchNum in(select BatchNum from JobQueue where JobState='6' ) group by DocTypeID,BatchNum,JobNum"
? IN的作用就是將兩條select語句的結果取并集 這樣 一個
JobNum?里如果既有"2"又有''6''就可以查出來
posted on 2006-09-16 21:05
Crespo 閱讀(3198)
評論(0) 編輯 收藏 所屬分類:
數據庫