没有合适的资源?快使用搜索试试~ 我知道了~
Aaron通用存储过程分页
需积分: 9 11 下载量 111 浏览量
2009-01-05
15:29:35
上传
评论
收藏 7KB TXT 举报
温馨提示
试读
5页
采用二分法加表变量整合,可适应kw级分页,读取效率只有前半部分和后半部分之分,而且基本没有差异。采用请保留来源
资源推荐
资源详情
资源评论
/*------------------------------------------------------------
--
--山王通用分页存储过程(二分法+表变量修正排序)
--by zlhran@gmail.com
--kw级下测试可行,如果需要多主键自己扩充
-------------------------------------------------------------*/
CREATE PROCEDURE [Pr_PageList_final]
(
@tblName nvarchar(200), ----要显示的表或多个表的连接
@fldName nvarchar(500) = '*', ----要显示的字段列表
@pageSize int = 10, ----每页显示的记录个数
@page int = 10, ----要显示那一页的记录
@sortRule varchar(1000), ---排序约束 类似 a.xx desc,b.xx as
@sortRuleReverse varchar(1000), ---排序约束 与上一条件相反即可如 a.xx asc,b.xx desc
----排序约束结束
@filter nvarchar(1000) = null,----查询条件,不需where
@primaryKey nvarchar(150), ----主表的主键 必须为自增量 也就是说 此列不存在任何重复值
@pageCount int = 1 output, ----查询结果分页后的总页数
@totalRecord int = 1 output, ----查询到的记录数
@returnSql nvarchar(1000) = '' output -----最后返回的SQL语句
)
AS
SET NOCOUNT ON ---不返回计数(表示受 Transact-SQL 语句影响的行数)
Declare @sqlTmp nvarchar(1000) ----存放动态生成的SQL语句
Declare @strTmp nvarchar(1000) ----存放取得查询结果总数的查询语句
Declare @strID nvarchar(1000) ----存放取得查询开头或结尾ID的查询语句
Declare @sqlSelect nvarchar(50) ----对含有DISTINCT的查询进行SQL构造
Declare @sqlCounts nvarchar(50) ----对含有DISTINCT的总数查询进行SQL构造
Declare @Erro nvarchar(500) -----错误统计
--
--山王通用分页存储过程(二分法+表变量修正排序)
--by zlhran@gmail.com
--kw级下测试可行,如果需要多主键自己扩充
-------------------------------------------------------------*/
CREATE PROCEDURE [Pr_PageList_final]
(
@tblName nvarchar(200), ----要显示的表或多个表的连接
@fldName nvarchar(500) = '*', ----要显示的字段列表
@pageSize int = 10, ----每页显示的记录个数
@page int = 10, ----要显示那一页的记录
@sortRule varchar(1000), ---排序约束 类似 a.xx desc,b.xx as
@sortRuleReverse varchar(1000), ---排序约束 与上一条件相反即可如 a.xx asc,b.xx desc
----排序约束结束
@filter nvarchar(1000) = null,----查询条件,不需where
@primaryKey nvarchar(150), ----主表的主键 必须为自增量 也就是说 此列不存在任何重复值
@pageCount int = 1 output, ----查询结果分页后的总页数
@totalRecord int = 1 output, ----查询到的记录数
@returnSql nvarchar(1000) = '' output -----最后返回的SQL语句
)
AS
SET NOCOUNT ON ---不返回计数(表示受 Transact-SQL 语句影响的行数)
Declare @sqlTmp nvarchar(1000) ----存放动态生成的SQL语句
Declare @strTmp nvarchar(1000) ----存放取得查询结果总数的查询语句
Declare @strID nvarchar(1000) ----存放取得查询开头或结尾ID的查询语句
Declare @sqlSelect nvarchar(50) ----对含有DISTINCT的查询进行SQL构造
Declare @sqlCounts nvarchar(50) ----对含有DISTINCT的总数查询进行SQL构造
Declare @Erro nvarchar(500) -----错误统计
资源评论
starter2009
- 粉丝: 8
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功