22,298
社区成员




1------------------------------------------------
--游标不是明智的选择,在小数据量时可以使用
create procedure hahaha
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off
--- 测试:
exec hahaha '任何条件的SQL语句',2,10
上面掉了
是这样:
select top n A.aaa,B.bbb,C.ccc FROM A,B,C WHERE A.ccc=B.ddd AND B.eee=C.fff
and c.ppp NOT IN
(SELECT TOP (N-1)*X ppp FROM (select A.aaa,B.bbb,C.ccc,c.ppp FROM A,B,C WHERE A.ccc=B.ddd AND B.eee=C.fff)tb)
这个CSDN超慢。我公司的网速已经是光纤了。还是那么慢才刷出来,特别是这个回复框,受不了了。。
没试过效果,楼主可以试一下。错了不要骂人。呵呵`
select top n A.aaa,B.bbb,C.ccc FROM A,B,C WHERE A.ccc=B.ddd AND B.eee=C.fff
and c.ppp NOT IN
(SELECT TOP (N-1)*X ppp FROM (select A.aaa,B.bbb,C.ccc FROM A,B,C WHERE A.ccc=B.ddd AND B.eee=C.fff)tb)