WebMatrix의 내장 DB인 SQL Compact 4.0 에서 페이징 구현
안녕하세요. 코난 김대우 입니다.
페이징 쿼리는 웹개발의 한 축이라고 봐도 좋을 정도로 다양하고 여러 방법들을 제공합니다.
알고계시는 것처럼, WebMatrix의 기본 내장 DB는 SQL CE(Compact Edition) 4.0을 사용하는데요, 여기서 쉽게 페이징을 구현하는 쿼리를 소개해 드리려고 해요.
SELECT
*
FROM Orders
ORDER BY OrderID
OFFSET 20 ROWS --3페이지를 가져온다면… (페이지번호-1) * 페이지사이즈
FETCH NEXT 10 ROWS ONLY; --페이지 사이즈
예를들어, 3번째 페이지를 보실 경우, SQL CE 4.0에서 이용 가능한 Orders 테이블에서 20번째부터 10개의 row를 가져오는 페이징 쿼리 입니다. 옷~ 깔끔하죠!!!
기존 방식의 쿼리보다 내장된 페이징 처리 방식을 이용해 깔끔하게 페이징 처리로 사용 가능하니 도움 되시길 바랍니다.
웹사이트에서 페이지 번호와 페이지 사이즈(몇건을 가져올지)를 위처럼 처리 하시면 되죠.
도움 되시길 바랍니다.
주의 :
위의 쿼리는 WebMatrix의 SQL CE 4.0로 만들 경우에만 사용 가능합니다. SQL서버에서는 사용 하실 수 없습니다.
SQL서버를 이용하실 경우에는 아래 참고링크의 페이징 방식을 참고 하시면 유용하실 거에요.
참고링크 :
Support for Paging Queries in SQL Server CE 4.0
SQL Server의 페이징 쿼리
SQL서버의 페이징 관련 정보 – SQL Tip & 사용자 강좌 검색 링크
Comments
- Anonymous
December 13, 2010
예전에 sqlite의 offset 구문 그대로이네요. 이런거 보면 오픈소스가 참 진보적인 부분이 많았다는 생각이 드네요.