TK's 컴퓨터 이야기

SQL 2005부터 지원하는 Paging 기능 "row_number()" 본문

DataBase

SQL 2005부터 지원하는 Paging 기능 "row_number()"

혈연 2012. 7. 25. 17:07

declare @page int, @page_row int, @start int, @end int
set @page=1    //조회할 페이지 
set @page_row=20    //페이지당 노출 게시물 수
set @start = (@page-1) * @page_row + 1    //조회될 페이지의 시작 row
set @end=(@page-1) * @page_row + @page_row;    //끝 row

/* 이놈은 Base View를 만드는 과정임.. with절을 별개로 사용할때는 위 문장이 세미콜론(;)으로 종료되어야함!! */

with view_table as(
 select row_number() over(order by num desc) as idx, * 
 from Notice
)

/* 실제 노출될 게시물을 조회 */

select idx, num, writer, subject, content, access, convert(varchar,writeday,102) writeday
from view_table
where idx between @start and @end

 

위와 같이 작업해주면, 페이지에 필요한 row만 조회해 올 수 있다.

ajax로 작업하기엔 정말 편리한 기능인듯..ㅋ

아! 물론 2005 이상부터 지원한다는...

우리 회사에서는 아직도! 2000 쓴다는 슬픈 사연이...

이런거 알아도 못써먹는다는...

'DataBase' 카테고리의 다른 글

0 나누기 에러  (0) 2014.01.16
xp_cmdshell 과 sql_injection  (0) 2012.06.25
MS-SQL Table Lock Check !  (0) 2012.03.09
DB 용량 줄이기(Data, Log)  (0) 2011.12.20
다수의 DB에 쿼리 일괄 처리하기.  (0) 2011.08.11