5

我有以下查询,当我尝试使用休眠执行它时,出现以下异常:

org.hibernate.exception.SQLGrammarException:无法使用滚动执行查询。

在我的代码中,我滚动了 FORWARD_ONLY。任何人都可以请提供一个完美的解决方案。

select * from (SELECT account_no    AS accountno,rownum r  FROM  sc_dcm_postpaid_index  WHERE  groupid = 'SBG-2012'  
and concat(trim(TO_CHAR(bill_date,'MONTH')),concat('-',TO_CHAR(bill_date,'YY')))='JUNE-12'  
AND ROWID  IN   (SELECT MAX(ROWID) AS row_no   ;   FROM sc_dcm_postpaid_index
WHERE groupid= 'SBG-2012'  and concat(trim(TO_CHAR(bill_date,'MONTH')),concat('-',TO_CHAR(bill_date,'YY')))='JUNE-12' 
GROUP BY account_no   HAVING COUNT (account_no) >= 1   ) ORDER BY account_no)where r >= 11  and  r <= 21..

另外,当我将查询更改为

SELECT account_no    AS accountno,rownum r  FROM  sc_dcm_postpaid_index  WHERE  rownum >= 11  and  rownum <= 21 groupid = 'SBG-2012'  
and concat(trim(TO_CHAR(bill_date,'MONTH')),concat('-',TO_CHAR(bill_date,'YY')))='JUNE-12'  
AND ROWID  IN   (SELECT MAX(ROWID) AS row_no   ;   FROM sc_dcm_postpaid_index
WHERE groupid= 'SBG-2012'  and concat(trim(TO_CHAR(bill_date,'MONTH')),concat('-',TO_CHAR(bill_date,'YY')))='JUNE-12' 
GROUP BY account_no   HAVING COUNT (account_no) >= 1   ) ORDER BY account_no

这是我的查询:

SQLQuery mainQuery = (SQLQuery) session.createSQLQuery(strReportQuery);
ScrollableResults itrDataList = mainQuery.scroll(ScrollMode.FORWARD_ONLY);

strReportQuery是我的查询

它执行得很好,但只能从 rownum 1 到 10 工作。从下一个 rownum 开始,结果集为空。

提前致谢, Bhargavi T.

4

0 回答 0