create proc [dbo].[UP_Pager]
@sql nvarchar(4000),
@pagesize int=10,
@currentpage int=1,
@recordcount int=0 out,
@pagecount int=0 out
AS
SET NOCOUNT ON
DECLARE @p1 int
EXEC sp_cursoropen @p1 output, @sql, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output
IF ISNULL(@pagesize, 0) < 1 SET @pagesize = 10
SELECT @recordcount=@pagecount,@pagecount=ceiling(1.0*@pagecount/@pagesize),@currentpage=(@currentpage-1)*@pagesize+1
SELECT @recordcount recordcount ,@pagecount pagecount
EXEC sp_cursorfetch @p1,16,@currentpage,@pagesize
EXEC sp_cursorclose @p1
GO
这个是一个分页的存储过程 其中用到了游标 但是本人对游标不懂哎 为什么这个存储过程会返回三个集合 是因为这三个游标都会返回数据吗 求解释
很简单啊,跑一下就知道结果了。因为只要有select的地方就返回了集合,SELECT @recordcount recordcount ,@pagecount pagecount 是多余的。因为已经有out类型的参数了。