手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >数据库存储过程分页显示
数据库存储过程分页显示
摘要:注:需要建立索引复制代码代码如下:/*经测试,在14483461条记录中查询第100000页,每页10条记录按升序和降序第一次时间均为0.4...

注:需要建立索引

复制代码 代码如下:

/*

经测试,在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

【数据库存储过程分页显示】相关文章:

MSSQL存储过程解秘过程全析

sql2005数据导出方法(使用存储过程导出数据为脚本)

mssql2005数据库镜像搭建教程

sql server中千万数量级分页存储过程代码

Sql Server 存储过程实例讲解

Sql语句与存储过程查询数据的性能测试实现代码

sql2005 存储过程分页代码

SQLServer中的存储过程

SQL2005 存储过程解密方法

SQLServer中master数据库分析

精品推荐
分类导航