两个表的分页存储过程
Posted 576
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个表的分页存储过程相关的知识,希望对你有一定的参考价值。
create proc [dbo].[usp_contacts_select_by_page]--存储过程名称
@pageindex int,--当前页
@pagesize int,--每页条数
@pagecount int output,--总页数
@recordcount int output--总条数
as
begin
select c1.*,c2.groupName into #tmp_contacts from Contacts as c1 inner join
ContactGroup as c2 on c1.groupId=c2.groupId--将两个表中的数据存放到临时表中
select * from
(select *,rn=ROW_NUMBER()over(order by contactId asc)from #tmp_contacts)as t
where t.rn between(@pageindex-1)*@pagesize+1 and @pageindex*@pagesize
set @recordcount=(select COUNT(*)from #tmp_contacts)
set @pagecount=CEILING(@recordcount*1.0/@pagesize)
end
执行
declare @m int,@n int
exec [dbo].[usp_contacts_select_by_page] 2,5,@m output,@n output
print @m
print @n
以上是关于两个表的分页存储过程的主要内容,如果未能解决你的问题,请参考以下文章