게시판등과 같은 곳에서 페이징 처리할때 여러가지 방법이 있겠지만
SQL Server의 top 을 쓰면 편리하다고 들었다. 그래서 oracle도 같은 방법을 찾아보아서
한번 정리해 보았음
# 예제테이블
CREATE TABLE TB_Board (
[nID] [int] IDENTITY (1, 1) NOT NULL ,
[sTitle] [varchar] (100) COLLATE Korean_Wansung_CI_AS NOT NULL ,
[sContent] [text] COLLATE Korean_Wansung_CI_AS NULL ,
[sContentType] [varchar] (4) COLLATE Korean_Wansung_CI_AS NULL ,
[nViewCount] [int] NOT NULL ,
[nModifyCount] [int] NOT NULL ,
[dCreateDate] [datetime] NOT NULL ,
[dModifyDate] [datetime] NOT NULL ,
[cUseFlag] [char] (1) COLLATE Korean_Wansung_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
위 테이블은 SQL Server에서 생성하는 게시판테이블 Script임.
[사용할 변수]
pageRowCnt : 페이지에 보여줄 행수
page : 보여질 페이지
# SQL Server
sql = "SELECT TOP " & pageRowCnt & " * FROM TB_Board " & _
"WHERE nID not in " & _
"(SELECT TOP " & ((page-1)*pageRowCnt) & ") nID FROM TB_Board " & _
" ORDER BY nID DESC)" & _
"ORDER BY nID desc"
# Oracle
sql = "SELECT * FROM " & _
"(SELECT nID FROM TB_Board " & _
" WHERE nID NOT IN " & _
" (SELECT nID FROM " & _
" (SELECT nID FROM TB_Board ORDER BY nID DESC) " & _
" WHERE ROWNUM <= " & ((page-1)*pageRowCnt) & ") " & _
"ORDER BY nID DESC) " & _
"WHERE ROWNUM <= " & pageRowCnt
[출처] 웹디황용
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
![]() |
☞자세히보기 |
|
|