主题:初学sql-sever 有个问题请高手帮忙解决下
游标的主要作用是干什么用的 我现在一直不太明白 没用过游标
还有 下面的存储过程的有些地方我看不明白 是分页方式
CREATE procedure pagination
@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
注:输入参数为:@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
过程返回多个结果集,第二个结果集中为(字段1[总页数],字段2[总行数],字段3[当前页])
第三个结果集中为根据条件得到的所要查询出的记录集
sp_cursoropen ,sp_cursorfetch,sp_cursorclose
这里的游标的作用主要是用来干吗的
请高手帮忙解答下 谢谢了
还有 下面的存储过程的有些地方我看不明白 是分页方式
CREATE procedure pagination
@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
注:输入参数为:@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
过程返回多个结果集,第二个结果集中为(字段1[总页数],字段2[总行数],字段3[当前页])
第三个结果集中为根据条件得到的所要查询出的记录集
sp_cursoropen ,sp_cursorfetch,sp_cursorclose
这里的游标的作用主要是用来干吗的
请高手帮忙解答下 谢谢了