当前位置:w88优德官网网文章中心网站开发SQL Server → sql存储过程分页代码,支持亿万庞大数据量

sql存储过程分页代码,支持亿万庞大数据量

减小字体 增大字体 作者:admin  来源:www.hack50.com  发布时间:2012-4-15 10:11:53
sql 存储过程分页代码 支持亿万庞大数据量,需要的朋友可以参考下:
CREATE PROCEDURE page  @tblName varchar(255), -- 表名  @strGetFields varchar(1000) = '*', -- 需要返回的列  @fldName varchar(255)='id', -- 排序的字段名  @PageSize int = 10, -- 页尺寸  @PageIndex int = 1, -- 页码  @doCount bit = 0, -- 返回记录总数, 非 0 值则返回  @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 0:asc 1:desc  @strWhere varchar(1500) = '', -- 查询条件 (注意: 不要加 where)  @ID nvarchar(50)='id' --主表的列。。最好是主键  AS  declare @strSQL varchar(5000) -- 主语句  declare @strTmp varchar(110) -- 临时变量  declare @strOrder varchar(400) -- 排序类  if @doCount != 0 begin  if @strWhere !=''  set @strSQL = 'select count(*) as Total from ' + @tblName+ ' where '+@strWhere  else  set @strSQL = 'select count(*) as Total from ' + @tblName + ''  end  --以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况  else begin  if @OrderType != 0 begin  set @strTmp = '<(select min'  set @strOrder = ' order by ' + @fldName +' desc'  --如果@OrderType不是0,就执行降序,这句很重要!  end  else begin  set @strTmp = '>(select max'  set @strOrder = ' order by ' + @fldName +' asc'  end  if @PageIndex = 1 begin  if @strWhere != ''  set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder  else  set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder  --如果是第一页就执行以上代码,这样会加快执行速度  end  else begin  --以下代码赋予了@strSQL以真正执行的SQL代码  set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '  + @tblName + ' where ' + @fldName + ' ' + @strTmp + '( '+ @ID + ' ) from (select top ' + str((@PageIndex-1)*@PageSize) + ' '+ @fldName + ' from ' + @tblName + @strOrder + ') as tblTmp)'+ @strOrder  if @strWhere != ''  set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '  + @tblName + ' where ' + @fldName + ' ' + @strTmp + '('  + @ID + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '  + @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '  + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder  end  end  exec (@strSQL) 

本文引用网址:
在下列搜索引擎中搜索“sql存储过程分页代码,支持亿万庞大数据量”的相关信息:
谷歌搜索 百度搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1林晨钰爆奶门照片ed2k 林晨钰爆...
  • 2雨后小故事完整版 雨后的小故事...
  • 3传谢娜张杰离婚 好友爆婚后情变...
  • 4杨棋涵7分钟****视频完整版 杨...
  • 5网传某校女老师与人偷欢春宫艳...
  • 1如何搭建第一个网站?做网站有...
  • 2Discuz!不能正常发送邮件-DISC...
  • 3电子商务网站建设的重要因素点...
  • 4织梦CMS读取频道信息失败 无法...
  • 5Dedecms会员注册验证邮箱的实现...
  • 1中国女大学生的淫靡生活
  • 2合肥艳照门事件 合肥艳照门全套...
  • 3林晨钰爆奶门视频qvod 林晨钰爆...
  • 4情侣酒店激情性爱 上演限制级影...
  • 5沈阳航空学院王婷不雅视频曝光...
  • 1Xen和虚拟化技术学习指南
  • 2瑞星播报--“灰鸽子变种HO”病...
  • 3如何做服务器安全维护?有哪些...
  • 4硬盘数据修复软件EasyRecovery...
  • 5Windows Server 2003 安全性指...
  • 赞助商广告

    图片文章导读