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 로 값 을 부여 합 니 다.이상 은 두 가지 페이지 나 누 는 방법 에 대한 소개 입 니 다.궁금 하거나 모 르 는 것 이 있 으 면 메 시 지 를 남 겨 주세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 가 Oracle 저장 프로 세 스 를 되 돌려 주 는 사용자 정의 플러그 인 테이블 가 져 오기자바 가 Oracle 저장 프로 세 스 를 되 돌려 주 는 사용자 정의 플러그 인 테이블 가 져 오기 저작권 성명: 본 고 는 블 로 거들 이 창작 한 글 로 블 로 거들 의 허락 없 이 전재 할 수 없다.https...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.