|
很多开始学习编程的朋友们在使用数据库自定义分页的时候,会遇到写不好数据分页存储过程的问题。 这里我就自己的一点经验和学习心得提供几种数据库内分页的存储过程和大家分享一下。 1、 使用top 1.1利用当前记录号(currentnote)和分页页面大小(pagesize)进行分页
create proc GetNextPageInfo2 @pagesize int, --page size @currentnote int --current note As
declare @sql nvarchar(200)
set @sql=N''''select top ''''+convert(varchar(10),@pagesize)+ '''' * from dbo.Userinfo where userid > '''' + convert(varchar(10),@currentnote) exec sp_executesql @sql go
1.2利用本页页码和分页页面大小进行分页 create proc GetNextPageInfo @pagesize int, --page size @page int --CurrentPage NO As
declare @jilu bigint set @jilu=(@pagesize*@page)
declare @sql nvarchar(200)
set @sql=N''''select top ''''+convert(varchar(10),@pagesize)+ '''' * from dbo.Userinfo where userid not in (select top '''' + convert(varchar(10),@jilu) + '''' userid from Userinfo order by userid) order by userid'''' exec sp_executesql @sql go 两种方式比较:第一种执行效率应该高于第二种,不过再id号多变的情况下第二种方法使用起来相对简单。
[1] [2] 下一页 [Access]sql随机抽取记录 [Access]ASP&SQL让select查询结果随机排序的实现方法 [办公软件]在sybase中插入图片、PDF、文本文件 [办公软件]安装Sybase ASE [办公软件]linux指令大全(完整篇) [办公软件]Linux新手入门常用命令大全 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法 [办公软件]Linux程序员必读:中文化与GB18030标准 [办公软件]linux指令大全
|