通过SQL语句分页的方法--MS SQL/ Oralcle
来源:互联网 发布:python密码字典生成器 编辑:程序博客网 时间:2024/06/14 22:06
MS SQL :
1:临时表”方法:即在存储过程中建立一个临时表,该临时表包含一个序号字段(1,2,3,....)以及表的主键(其他能够唯一确定一行记录的字段也是可以的)字段。存储过程可能如下:
CREATE Procedure GetAllArticles_Paged
(
@PageIndex int,
@PageSize int,
@TotalRecords out int,
@TotalPages out int
)
AS
DECLARE @PageLowerBound int
DECLARE @PageUpperBound int
-- Set the page bounds
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
-- Create a temp table to store the select results
CREATE TABLE #tmp
(
RecNo int IDENTITY (1, 1) NOT NULL,
ArticleID int
)
INSERT INTO #tmp
SELECT [ID]
FROM Articles
ORDER BY PubTime DESC
SELECT A.*
FROM Articles A (nolock), #tmp T
WHERE A.ID = T.ArticleID AND
T.RecNo > @PageLowerBound AND
T.RecNo < @PageUpperBound
ORDER BY T.RecNo
GO
2:“掐头去尾”拼凑SQL 语句:用两次 TOP 命令取得我们所要的分页数据,例如
SELECT * FROM
(
SELECT TOP(PageSize) * FROM
(
SELECT TOP (PageSize * PageIndex) *
FROM Articles
ORDER BY PubTime DESC
)
ORDER BY PubTime ASC
)
ORDER BY PubTime DESC
Oracle 数据库
oracle提供了 rownum 这个隐式游标。
rownum 是记录序号(1,2,3...)
SELECT * FROM
(
SELECT A.*, rownum r
FROM
(
SELECT *
FROM Articles
ORDER BY PubTime DESC
) A
WHERE rownum <= PageUpperBound
) B
WHERE r > PageLowerBound;
- 通过SQL语句分页的方法--MS SQL/ Oralcle
- oralcle数据库插入当前的时间sql语句
- 最优化的ms sql server分页sql语句
- 优化的ms sql server分页sql语句
- 优化的ms sql server分页sql语句
- ms sql server分页sql语句
- mysql、MS SQL关于分页的sql查询语句 limit 和row_number() OVER函数
- 分页的sql语句
- ms sql 分页
- MS sql insert语句中需要字符串转日期的sql语句方法
- MS Sql的一个分页存储过程
- ms-sql语句执行时间
- ms sql语句模板
- ms sql 清库 语句,
- 通过sql语句查询实现分页
- Ms sql sql server 基本常用的Sql语句
- [MS SQL]SQL语句查询每个分组的前N条记录的实现方法
- 有用的SQL分页语句
- 唐骏在大连理工的幽默演讲
- js弹出层与遮罩层
- 失意者总是不敢冒险
- 钱不是最重要的但的确非常重要
- 软件人员的生涯规划
- 通过SQL语句分页的方法--MS SQL/ Oralcle
- 你说挑书就像挑老师一样,我说你乱有思想的
- 学习,是一条漫长的道路
- FLASH ActionScript运行时错误列表
- 全选、全不选和反选
- IDM.UltraEdit.v14.10.0.1024.Incl.Keymaker-CORE
- WebGIS开发--滑铁卢(之一)
- DLL的调试
- 一个漂亮的DIV搜索条