一个分页存储过程代码

我是你媳妇free

我是你媳妇free

2016-02-19 10:47

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的一个分页存储过程代码教程,一起来看看吧!超容易上手~

代码如下:

------------------------------------
--用途:分页存储过程(对有主键的表效率极高)
--说明:
------------------------------------
ALTER PROCEDURE [UP_GetRecordByPage]
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 主键字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@IsReCount bit = 0, -- 返回记录总数, 非0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非0 值则降序
@strWhere varchar(1000) = '' -- 查询条件(注意: 不要加where)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(100) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @OrderType != 0
begin
set @strTmp = '(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
end
else
begin
set @strTmp = '(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
if @PageIndex = 1
begin
set @strTmp =''
if @strWhere != ''
set @strTmp = ' where ' + @strWhere
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
end
if @IsReCount != 0
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere
exec (@strSQL)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

一个分页存储过程代码

编程语言 网络编程
一个分页存储过程代码

一个分页存储过程

ASP
一个分页存储过程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

分页存储过程代码

编程语言 网络编程
分页存储过程代码

一个简单的用存储过程分页

Web开发
一个简单的用存储过程分页

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个高效的数据分页的存储过程

ASP
一个高效的数据分页的存储过程

sql2005 存储过程分页代码

编程语言 网络编程
sql2005 存储过程分页代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

安装SQL2005 29506错误码的解决方案

安装SQL2005 29506错误码的解决方案

如何让MAC系统QuickTime录制屏幕时不丢失声音

如何让MAC系统QuickTime录制屏幕时不丢失声音
下拉加载更多内容 ↓