写了一个分页存储过程把总记录数也写到返回表的每行了
2007-01-10 14:30
489 查看
ALTER PROCEDURE [dbo].[a_Example]
@startIndex INT ,--每页的开始记录的索引
@pageSize INT --每页记录数
AS
--取出记录总数 插入@RecordCountTable临时表
declare @RecordCountTable table(RecordCount int)
insert into @RecordCountTable SELECT count(*) AS RecordCount FROM InOut_InOut_InOutBed
--直接用
begin
select * from
(
SELECT row_number() OVER (ORDER BY InOutBedID DESC)AS Row,*
from
InOut_InOut_InOutBed
LEFT JOIN
@RecordCountTable ON 1=1
)
as
TemporaryTable
where
row between @startIndex and @startIndex+@pageSize-1
end
或者:
ALTER PROCEDURE [dbo].[a_Example]
@startIndex INT ,--每页的开始记录的索引
@pageSize INT --每页记录数
AS
--取出记录总数 插入@RecordCountTable临时表
declare @RecordCountTable table(RecordCount int)
insert into @RecordCountTable SELECT count(*) AS RecordCount FROM InOut_InOut_InOutBed
--虚拟视图
begin
--取出内容 每行左连记录总数 虚拟视图orderList
WITH orderList AS
(
SELECT row_number() OVER (ORDER BY InOutBedID DESC)AS Row,*
from InOut_InOut_InOutBed
LEFT JOIN @RecordCountTable ON 1=1
)
--取出虚拟视图orderList中分页内容
SELECT *
FROM orderlist
WHERE row between @startIndex and @startIndex+@pageSize-1
end
@startIndex INT ,--每页的开始记录的索引
@pageSize INT --每页记录数
AS
--取出记录总数 插入@RecordCountTable临时表
declare @RecordCountTable table(RecordCount int)
insert into @RecordCountTable SELECT count(*) AS RecordCount FROM InOut_InOut_InOutBed
--直接用
begin
select * from
(
SELECT row_number() OVER (ORDER BY InOutBedID DESC)AS Row,*
from
InOut_InOut_InOutBed
LEFT JOIN
@RecordCountTable ON 1=1
)
as
TemporaryTable
where
row between @startIndex and @startIndex+@pageSize-1
end
或者:
ALTER PROCEDURE [dbo].[a_Example]
@startIndex INT ,--每页的开始记录的索引
@pageSize INT --每页记录数
AS
--取出记录总数 插入@RecordCountTable临时表
declare @RecordCountTable table(RecordCount int)
insert into @RecordCountTable SELECT count(*) AS RecordCount FROM InOut_InOut_InOutBed
--虚拟视图
begin
--取出内容 每行左连记录总数 虚拟视图orderList
WITH orderList AS
(
SELECT row_number() OVER (ORDER BY InOutBedID DESC)AS Row,*
from InOut_InOut_InOutBed
LEFT JOIN @RecordCountTable ON 1=1
)
--取出虚拟视图orderList中分页内容
SELECT *
FROM orderlist
WHERE row between @startIndex and @startIndex+@pageSize-1
end
相关文章推荐
- 通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录
- mysql 分页存储过程 一次返回两个记录集(行的条数,以及行记录),DataReader的Read方法和NextResult方法
- :[百万级]通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录
- 通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录
- 通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录
- 通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录
- 对特定表进行分页显示的存储过程(要求有两个参数一个是 每页显示的记录的条数(@pagesize),第二个是显示第几页(@pageIndex))
- 一个比较不错的存储过程分页
- oracle存储过程一(返回单条记录的值)
- 发布一个高效的数据分页的存储过程 可以轻松应付百万数据
- 一个将数据分页的存储过程--通用版
- 一个高效的数据分页的存储过程
- 一个确实不错的分页存储过程.
- 一个简单的oracle分页存储过程的实现和调用
- oracle学习-存储过程返回一个值,和返回一个结果集
- 一个分页存储过程
- 一个简单的存储过程数据分页
- 一个通用的分页存储过程
- Oracle的存储过程能返回一个select查询结果集吗
- 近300万记录的论坛还用这个分页存储过程