Patrick's 데이터 세상

Query 결과 값이 많을 때 나눠서 반출하는 방법 본문

Programming/Oracle

Query 결과 값이 많을 때 나눠서 반출하는 방법

patrick610 2020. 6. 24. 22:08
반응형
SMALL

많은 건수를 반출할 때 디벨로퍼에 오류가 나는 경우가 있습니다.
쿼리 결과 값이 많을 때 나눠서 반출하는 방법으로는 rownum을 활용하는 방법이 있습니다.

 

1. 결과 값을 같은 기준으로 정렬합니다.

변하지 않는 고정 값인 rowid로 고정하여 정렬하겠습니다.
rownum을 select 절에서 컬럼 추출을 하는데 다른 이름으로 지정해줍니다.(rm)

select number
     , rownum rm
from table
order by rowid;

 

2. from절 안으로 select 절을 감싸줍니다.

select number
from (select number
           , rownum rm
      from table
      order by rowid
     )

 

3. 조회하는 from절의 rownum(rm)을 토대로 조건을 잡아줍니다.

select number
from (select number
           , rownum rm
      from table
      order by rowid
      )
where rm between 1 and 50000      


select number
from (select number
           , rownum rm
      from table
      order by rowid
      )
where rm between 50001 and 100000

 

위와 같은 방법으로 조건을 잡아줍니다.

반응형
LIST
Comments