关于SQL存储过程分页的研究--1.“俄罗斯存储过程”的改良版
关于SQL存储过程分页的研究

关于SQL存储过程分页的研究
CREATE procedure pagination1
关于SQL存储过程分页的研究(
@pagesize int--页面大小,如每页存储20条记录
关于SQL存储过程分页的研究
@pageindex int --当前页码)
关于SQL存储过程分页的研究
as set nocount on
关于SQL存储过程分页的研究
关于SQL存储过程分页的研究
begin
关于SQL存储过程分页的研究
关于SQL存储过程分页的研究
declare @indextable table(id int identity(1,1),nid int--定义表变量
关于SQL存储过程分页的研究
declare @PageLowerBound int --定义此页的底码
关于SQL存储过程分页的研究
declare @PageUpperBound int --定义此页的顶码
关于SQL存储过程分页的研究

关于SQL存储过程分页的研究
set @PageLowerBound=(@pageindex-1)*@pagesize
关于SQL存储过程分页的研究
set @PageUpperBound=@PageLowerBound+@pagesize
关于SQL存储过程分页的研究
set rowcount @PageUpperBound
关于SQL存储过程分页的研究
insert into @indextable(nid) select gid from TGongwen where fariqi >dateadd(day,-365,getdate()) order by fariqi desc
关于SQL存储过程分页的研究
select O.gid,O.mid,O.title,O.fadanwei,O.fariqi from TGongwen O,@indextable t where O.gid=t.nid
关于SQL存储过程分页的研究
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
关于SQL存储过程分页的研究
关于SQL存储过程分页的研究
end
关于SQL存储过程分页的研究
关于SQL存储过程分页的研究
set nocount off
关于SQL存储过程分页的研究
关于SQL存储过程分页的研究
缺点:必须有主键。

声明:文章非原创,学习参考

相关文章: