一个比较实用的大数据量分页存储过程

狐狸去哪儿

狐狸去哪儿

2016-02-19 12:08

今天图老师小编要跟大家分享一个比较实用的大数据量分页存储过程,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!
create proc sp_PublicTurnPageWebSite(
@TBName nvarchar(100)='', --表名,如 pinyin
@PageSize int=10, --每页的记录数,默认为 10
@CurPage int=1, --表示当前页 1
@KeyField nvarchar(100)='ID', --关键字段名,默认为 ID,该字段要求是表中的索引 或 无重复和不为空的字段
@KeyAscDesc nvarchar(4)='ASC', --关键字的升、降序,默认为升序 ASC , 降序为 DESC
@Fields nvarchar(500)='*', --所选择的列名,默认为全选
@Condition nvarchar(200)='', --where 条件,默认为空
@Order nvarchar(200)='' --排序条件,默认为空
) with encryption as
if @TBName = ''
begin
raiserror('请指定表名!',11,1)
return
end
if @PageSize =0 or @CurPage 0 
begin
raiserror('当前页数和每页的记录数都必须大于零!',11,1)
return
end
if @KeyAscDesc = 'DESC'
set @KeyAscDesc = ''
else
set @KeyAscDesc = ''
if @Condition  ''
set @Condition = ' where ' + @Condition
declare @SQL nvarchar(2000)

set @SQL = ''
if @CurPage = 1
set @SQL = @SQL + 'Select Top ' + cast(@PageSize as nvarchar(20)) + ' ' + @Fields + ' FROM ' + @TBName + @Condition + ' ' + @Order
else
begin
declare @iTopNum int
set @iTopNum = @PageSize * (@CurPage - 1)
set @SQL = @SQL + 'declare @sLastValue nvarchar(100)' + char(13)
set @SQL = @SQL + 'Select Top ' + cast(@iTopNum as nvarchar(20)) + ' @sLastValue=' + @KeyField + ' FROM ' + @TBName + @Condition + ' ' + @Order + char(13)

declare @Condition2 nvarchar(200)
if @Condition = ''
set @Condition2 = ' where ' + @KeyField + @KeyAscDesc + '@sLastValue '
else
set @Condition2 = ' and ' + @KeyField + @KeyAscDesc + '@sLastValue '
set @SQL = @SQL + 'Select Top ' + cast(@PageSize as nvarchar(20)) + ' ' + @Fields + ' FROM ' + @TBName + @Condition + @Condition2 + @Order
end
EXECUTE sp_executesql @SQL
展开更多 50%)
分享

猜你喜欢

一个比较实用的大数据量分页存储过程

编程语言 网络编程
一个比较实用的大数据量分页存储过程

SQL2005 大数据量检索的分页

编程语言 网络编程
SQL2005 大数据量检索的分页

s8lol主宰符文怎么配

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

MySQL大数据量导入导出方法比较

编程语言 网络编程
MySQL大数据量导入导出方法比较

一个分页存储过程

ASP
一个分页存储过程

lol偷钱流符文搭配推荐

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

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

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

一个分页存储过程代码

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

lolAD刺客新符文搭配推荐

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

windows7 电脑怎么样改成无线wifi

windows7 电脑怎么样改成无线wifi

系统存储过程sp_executesql

系统存储过程sp_executesql
下拉加载更多内容 ↓