香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > MSSQL >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

数据库存储过程分页显示


时间:2020-10-31 14:15 作者:admin610456


注:需要建立索引
复制代码 代码如下:
/*
经测试,在14483461条记录中查询第100000页,每页10条记录按升序和降序第一次时间均为0.47秒,第二次时间均为0.43秒,测试语法如下:
execGetRecordFromPagenews,newsid,10,100000
news为表名,newsid为关键字段,使用时请先对newsid建立索引。
*/

/*
函数名称:GetRecordFromPage
函数功能:获取指定页的数据
参数说明:@tblName包含数据的表名
@fldName关键字段名
@PageSize每页记录数
@PageIndex要获取的页码
@OrderType排序类型,0-升序,1-降序
@strWhere查询条件(注意:不要加where)
作  者:铁拳
邮  箱:unjianhua_kki@sina.com">sunjianhua_kki@sina.com
创建时间:2004-07-04
修改时间:2004-07-04
*/
CreatePROCEDUREGetRecordFromPage
@tblNamevarchar(255),--表名
@fldNamevarchar(255),--字段名
@PageSizeint=10,--页尺寸
@PageIndexint=1,--页码
@OrderTypebit=0,--设置排序类型,非0值则降序
@strWherevarchar(2000)=''--查询条件(注意:不要加where)
AS

declare@strSQLvarchar(6000)--主语句
declare@strTmpvarchar(1000)--临时变量
declare@strOrdervarchar(500)--排序类型

if@OrderType!=0
begin
set@strTmp="<(selectmin"
set@strOrder="orderby["+@fldName+"]desc"
end
else
begin
set@strTmp=">(selectmax"
set@strOrder="orderby["+@fldName+"]asc"
end

set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]"+@strOrder+")astblTmp)"
+@strOrder

if@strWhere!=''
set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]where"+@strWhere+""
+@strOrder+")astblTmp)and"+@strWhere+""+@strOrder

if@PageIndex=1
begin
set@strTmp=""
if@strWhere!=''
set@strTmp="where("+@strWhere+")"

set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]"+@strTmp+""+@strOrder
end

exec(@strSQL)

GO

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)