여러방법이 있겠지만 현재 내가 쓴것.
query란 변수에 데이터를 가져오는 sql문이 들어가 있을 경우.
(java파일에서 작성한다고 가정할때)
ex>
query = "select * from test";
SELECT * FROM
query란 변수에 데이터를 가져오는 sql문이 들어가 있을 경우.
(java파일에서 작성한다고 가정할때)
ex>
query = "select * from test";
SELECT * FROM
(
SELECT ROWNUM AS RNUM, GET.* FROM
(
+ query + (이곳에 데이터를 불러오는 쿼리문이 들어간다.)
) GET
ORDER BY ROWNUM desc
)
WHERE RNUM BETWEEN 1 AND 10 ORDER BY RNUM ASC;
페이징 처리를 하기 위해선 전체 줄 수도 알아야 하기 때문에, 그를 알기위한 쿼리문
SELECT COUNT(*) CNT FROM ( + query + )
유의점. ROWNUM 사용시 alias를 필수로 지정해 주는게 좋다. ROWNUM그대로 쓰면 페이징 처리가 안되는 경우가 발생하기도 함.
출처 : http://notpeelbean.tistory.com/36
페이징 처리를 하기 위해선 전체 줄 수도 알아야 하기 때문에, 그를 알기위한 쿼리문
SELECT COUNT(*) CNT FROM ( + query + )
유의점. ROWNUM 사용시 alias를 필수로 지정해 주는게 좋다. ROWNUM그대로 쓰면 페이징 처리가 안되는 경우가 발생하기도 함.
출처 : http://notpeelbean.tistory.com/36
'Database > Oracle' 카테고리의 다른 글
Oracle - RANK(), DENSE_RANK(), ROW_NUMBER()의 차이 (0) | 2012.02.03 |
---|---|
Oracle 비교분석함수 LAG() , LEAD() 함수 (0) | 2012.02.03 |
[펌] Oracle Client 설치 (0) | 2011.11.11 |
[펌] ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (0) | 2011.11.02 |
Oracle FBI란?? (0) | 2011.08.21 |