给个参考,邹建的说:*--分页方法:-- j9988(j9988) --*/declare @sqlstr nvarchar(4000), --查询字符串
@pagecount int,--第N页
@pagesize int--每页行数select @pagecount=3--第3页
,@pagesize=10--第页10条
,@sqlstr='select * from sysobjects'set nocount on
declare @P1 int,--P1是游标的id
@rowcount intexec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select @rowcount as 总行数,ceiling(1.0*@rowcount/@pagesize) as 页数,@pagecount as 当前页
set @pagecount=(@pagecount-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@pagecount,@pagesize
exec sp_cursorclose @P1
@pagecount int,--第N页
@pagesize int--每页行数select @pagecount=3--第3页
,@pagesize=10--第页10条
,@sqlstr='select * from sysobjects'set nocount on
declare @P1 int,--P1是游标的id
@rowcount intexec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select @rowcount as 总行数,ceiling(1.0*@rowcount/@pagesize) as 页数,@pagecount as 当前页
set @pagecount=(@pagecount-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@pagecount,@pagesize
exec sp_cursorclose @P1
sp_cursoropen
sp_cursorfetch
sp_cursorclose
的参数说明
你的潜问题是:如果用top那么你没有办法控制排序规则。
这个问题的解答是,如果你在别的方法中可以排序,那你在用top的时候当然也可以排序。
如果你在别的方法中没有排序规则,那么在top中当然也不需要了。因为大家都是靠表自己的排序来的拉。
top语句不管主键等排序的问题,仅仅是在执行select后,当读取到指定数量的记录后就立刻停止。