通用分页存储过程???????

mysky0103 2007-08-08 09:40:25
我想使用通用分页存储过程的多表查询
比如
select A.name B.state from A left join B on A.ID=B.ID
这样的sql语句用通用分页存储过程不行啊,请问大家都是怎么处理的,是不是单独写一个分页存储过程???????????请高手指教

...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhaoYulong995 2007-08-09
  • 打赏
  • 举报
回复
ding
octverve 2007-08-09
  • 打赏
  • 举报
回复
说到分页,说到存储过程,再说到百万级

那一定要看看


CREATE PROCEDURE pageTest --用于翻页的测试
--需要把排序字段放在第一列

(
@FirstID nvarchar(20)=null, --当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=null, --当前页面里的最后一条记录的排序字段的值
@isNext bit=null, --true 1 :下一页;false 0:上一页
@allCount int output, --返回总记录数
@pageSize int output, --返回一页的记录数
@CurPage int --页号(第几页)0:第一页;-1最后一页。
)

AS

if @CurPage=0
begin
--统计总记录数
select @allCount=count(ProductId) from Product_test

set @pageSize=10
--返回第一页的数据
select top 10
ProductId,
ProductName,
Introduction
from Product_test order by ProductId
end

else if @CurPage=-1

select * from
(select top 10 ProductId,
ProductName,
Introduction

from Product_test order by ProductId desc ) as aa
order by ProductId
else

begin
if @isNext=1
--翻到下一页
select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId > @LastID order by ProductId


else
--翻到上一页
select * from
(select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId < @FirstID order by ProductId desc) as bb order by ProductId
end


百万数据翻页就像100条数据一样!
zhuawang 2007-08-08
  • 打赏
  • 举报
回复
学习了
Jinglecat 2007-08-08
  • 打赏
  • 举报
回复
修改你的“通用分页SP”的查询数据部分

1.
你可以定义一个视图,
CREATE VIEW vSomeView
AS
select A.name B.state from A left join B on A.ID=B.ID

分页SP 中查询此 View

2.
分页SP 内设计一表变量/临时表,存储
select A.name B.state from A left join B on A.ID=B.ID

分页SP 中查询此表变量/临时表
igelf 2007-08-08
  • 打赏
  • 举报
回复
ls 我的偶像
孟子E章 2007-08-08
  • 打赏
  • 举报
回复
办法1:使用视图
办法2:自己进行改造

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧