여러방법이 있겠지만 현재 내가 쓴것.
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그대로 쓰면 페이징 처리가 안되는 경우가 발생하기도 함.
페이징 처리를 하기 위해선 전체 줄 수도 알아야 하기 때문에, 그를 알기위한 쿼리문
SELECT COUNT(*) CNT FROM ( + query + )
유의점. ROWNUM 사용시 alias를 필수로 지정하자. ROWNUM그대로 쓰면 페이징 처리가 안되는 경우가 발생하기도 함.
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] 오라클 함수 (0) | 2011.12.16 |
---|