SQL Server 두 페이지 의 저장 프로 세 스 사용 안내

현재 많은 기업 이 채용 하 는 필기시험 은 한 페이지 씩 저장 하 는 과정 을 채용 하 게 하기 때문에 어떤 기업 은 지원자 에 게 두 가지 방식 으로 페이지 를 나 누 라 고 요구 하기 도 한다.실제 항목 에서 페이지 를 나 누 어 사용 한 적 이 없다 면 많은 지원자 들 이 일정한 질문 을 할 것 이다.다음은 두 가지 페이지 를 나 누 는 방법 을 소개 한다.
1.학생 표 의 경우 데이터베이스 에 Student 표 가 있 습 니 다.필드 에는 Student No,LoginPwd,Student Name,Sex,ClassId,Phone,Address,BornDate,Email,isDel 이 있 습 니 다.
요구:학생 의 정 보 를 조회 하고 페이지 당 5 개의 기록 을 표시 합 니 다.
둘째,첫 번 째 방식 으로 페이지 나 누 기:하위 조회 not in
예 를 들 면:
첫 페이지
select top 5 * from Student
두 번 째 페이지:앞의 10 조 에 앞의 5 조 에 없 는 기록 을 조회 하면 6-10,즉 두 번 째 페이지 입 니 다.
select top 5 * from Student where StudentNo not in(select top 10 Studentno from Student)
같은 이치 로 3 페이지,,,,,
이런 방식 은 모두 가 알 수 있 을 것 이 라 고 믿 습 니 다.이런 페이지 의 저장 과정 작성 방법 은 소 개 를 많이 하지 않 고 다음 의 페이지 방법 을 중점적으로 소개 합 니 다.
3.두 번 째 방식 으로 페이지 나 누 기:ROW 이용NUMBER()이 자체 함수
05 이후 페이지 를 나 누 는 데 사용 되 는 함 수 를 제공 하 는데 그것 이 바로 ROW 이기 때문이다.NUMBER()이 함수,페이지 의 기본 문법:ROWNUMBER()over(정렬 필드):지정 한 필드 에 따라 정렬 할 수 있 습 니 다.정렬 된 결과 집합의 줄 마다 끊 임 없 는 줄 번 호 를 추가 할 수 있 습 니 다.연속 id 값 과 같 습 니 다.
예 를 들 어 sql 문장:select ROWNUMBER()over(order by studentno)id,*from Student 그러면 결과 집 을 볼 수 있 습 니 다.

그러면 우 리 는 id 값 이 연속 적 인 것 을 볼 수 있 고 모든 다음 저장 과정 을 쓰 는 것 이 비교적 간단 하 다.
메모:우 리 는 이 결과 에 새 이름 을 붙 여야 합 니 다.예 를 들 어 temp 이 라 고 명명 하면 페이지 저장 과정 을 쓸 수 있 습 니 다.

if exists( select * from sysobjects where name='usp_getPageData')
drop proc usp_getPageData --       usp_getPageData        
go
create proc usp_getPageData --    usp_getPageData    
@toPage int=0 output, --   
@pageIndex int =1 , --       
@pageCount int =5 --        5 
as
select temp.StudentNo,temp.LoginPwd,temp.StudentName,temp.Sex,temp.ClassId,temp.Phone,temp.Address,temp.BornDate,temp.Email,temp.isDel from
(select ROW_NUMBER() over (Order by studentno) id,* from Student) temp
where id>(@pageIndex-1)*@pageCount and id<=@pageIndex*@pageCount

set @toPage=ceiling((select COUNT(*) from Student)*1.0/@pageCount) --  ceiling       
go
이 는 실제 프로젝트 의 개발 에 있어 서 총 페이지 수 를 사용자 에 게 보 여 줘 야 하기 때문에 모든 저장 과정 에 toPage 인 자 를 추가 하 였 습 니 다.사용자 에 게 보 여 주 려 고 하기 때문에 모든 매개 변수 유형 은 output 로 정의 되 고 set 로 값 을 부여 합 니 다.
이상 은 두 가지 페이지 나 누 는 방법 에 대한 소개 입 니 다.궁금 하거나 모 르 는 것 이 있 으 면 메 시 지 를 남 겨 주세요.

좋은 웹페이지 즐겨찾기