kettle mysql 分页_kettle 分页抽数
1】 分頁
2】變量設置 == 全局/局部
3】查詢總數據量,并設置變量
SELECT
count(1) total_page
FROM
dmlog_policy t
WHERE 1=1
and t.trans_status in ('0','3')
and contractid between ${fromContractId} and ${toContractId}
and riskCode = ${riskCode}
-- 過濾掉大團單
-- and not exists (select 1 from big_policy a where a.contractid= t.contractid)
4】js增加判斷 == 是否繼續/結束 false退出
var subject="自定義日志輸出";
//實例化工廠類
var logFactory = new org.pentaho.di.core.logging.LogChannelFactory();
//實例化日志channel對象
var log= logFactory.create(subject);
//日志輸出
log.logMinimal("-------------分頁判斷-------------------");
var currPage = parent_job.getVariable("curPage");// 從job獲取當前頁數值(當前第幾頁)
var page_size = parseInt(parent_job.getVariable("pageSige")); // 分頁條數
var total_page = parent_job.getVariable("TOTAL_PAGE"); // 當前線程總數
var riskcode = parent_job.getVariable("riskCode"); // 當前遷移險種
log.logMinimal("-------------currPage:" + currPage + ",page_size:" + page_size + ",total_page:" +total_page+ ",riskcode:"+ riskcode+"-------------------");
if(total_page == null || total_page == undefined || total_page == ""){
// 總數為空的時候,直接返回錯誤
false;
}else{
total_page = parseInt(total_page);
}
if(currPage == null || currPage == undefined || currPage == ""){
// 當前頁為空的時候,直接返回錯誤
false;
}else{
var nextCurrPage = parseInt(currPage)+1;
}
//超過100次循環會堆棧內存溢出,故限制在100次之內
if( (currPage*page_size) < total_page && nextCurrPage<=100 ){
parent_job.setVariable("curPage",(parseInt(currPage)+1));
true;
}else{
false;
}
補充1】
條件:檢驗字段的值
總結
以上是生活随笔為你收集整理的kettle mysql 分页_kettle 分页抽数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps取消选择快捷键是什么(PS里面取消选
- 下一篇: linux cmake编译源码,linu