`
buliedian
  • 浏览: 1248564 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

最通用的分页存储过程

阅读更多
--最通用的分页存储过程
--
获取指定页的数据
--
PoweredBy:CHENQP
--
ModifyDate:17:082006-9-15
CREATEPROCEDUREusp_Pagination
@tblNamevarchar(255),--表名
@strGetFieldsvarchar(1000)='*',--需要返回的列
@fldNamevarchar(255)='',--排序的字段名
@PageSizeint=10,--页尺寸
@PageIndexint=1,--页码
@doCountbit=0,--返回记录总数,非0值则返回
@OrderTypebit=0,--设置排序类型,非0值则降序
@strWherevarchar(1500)=''--查询条件(注意:不要加where)
AS
declare@strSQLvarchar(5000)--主语句
declare@strTmpvarchar(110)--临时变量
declare@strOrdervarchar(400)--排序类型
if@doCount!=0
begin
if@strWhere!=''
set@strSQL='selectcount(*)asTotalfrom['+@tblName+']where'+@strWhere
else
set@strSQL='selectcount(*)asTotalfrom['+@tblName+']'
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都
--
是@doCount为0的情况
else
begin
if@OrderType!=0
begin
set@strTmp='<(selectmin'
set@strOrder='orderby['+@fldName+']desc'
--如果@OrderType不是0,就执行降序,这句很重要!
end
else
begin
set@strTmp='>(selectmax'
set@strOrder='orderby['+@fldName+']asc'
end

if@PageIndex=1
begin
if@strWhere!=''
set@strSQL='selecttop'+str(@PageSize)+''+@strGetFields+'from['+@tblName+']where'+@strWhere+''+@strOrder
else
set@strSQL='selecttop'+str(@PageSize)+''+@strGetFields+'from['+@tblName+']'+@strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set@strSQL='selecttop'+str(@PageSize)+''+@strGetFields+'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)+''+@strGetFields+'from['+@tblName+']where['+@fldName+']'+@strTmp+'(['+@fldName+'])from(selecttop'+str((@PageIndex-1)*@PageSize)+'['+@fldName+']
from[
'+@tblName+']where'+@strWhere+''+@strOrder+')astblTmp)and'+@strWhere+''+@strOrder
end
end
exec(@strSQL)
GO
分享到:
评论

相关推荐

    sql Server 通用分页存储过程

    sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程

    通用分页存储过程

    ### 通用分页存储过程知识点解析 #### 一、存储过程概述 在数据库管理系统中,存储过程是一种预先编译并存储在数据库中的SQL程序。它能够接收参数,并根据这些参数执行复杂的逻辑操作,如数据查询、更新等。通过...

    通用Mysql分页存储过程

    通用Mysql分页存储过程,支持多表查询。

    Sql Server 通用分页存储过程(适用与 BootStrap Table)

    通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    通用Sql分页存储过程

    通用sql分页存储过程,提供12参数可供选择。其中,提供两种分页方案被选择和相关排序方式,支持自定义查询、自定义排序等

    SQL通用分页存储过程完整代码

    SQL 通用 分页 存储 过程 完整代码

    通用分页存储过程+通用分页存储过程

    根据提供的文件信息,我们可以了解到这段代码是用于创建一个SQL Server中的通用分页存储过程,名为`pagination3`。此存储过程旨在提供一种灵活且高效的方式来处理数据库查询中的分页问题,使得开发人员能够轻松地在...

    通用分页存储过程(支持联表查询)

    本通用分页存储过程经过我的验证,可以使用,支持联表查询,支持单表查询,效率我没测过太多,应该还可以。有需要的拿去用。 如果测试出效率,我们可以交流交流

    通用分页存储过程sql

    通用分页存储过程 MSSQL通用分页存储过程

    web中通用分页存储过程

    web中通用分页存储过程,是根据PageIndex来取得相应的页数据,并不是上下翻页,对单字段,多字段均适用,并在百万级数据上测试,分页速度较好。

    通用分页存储过程(支持多表关联)

    效率极高的通用分页存储过程,支持夺表关联。

    通用分页存储过程(支持多表)

    知识点:通用分页存储过程(支持多表) 一、存储过程概述 在数据库管理系统中,存储过程是一种预先编译并存储在数据库中的SQL程序。它能够接收参数,执行一系列操作,如查询、更新数据,并返回结果。存储过程提高...

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 #### 标题解析 标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能...

    通用存储过程(通用的分页存储过程)

    通用存储过程(通用的分页存储过程) 在实际项目开发中,存储过程是非常常见的,因此掌握存储过程的用法是开发人员必备的实战法宝

    mysql存储过程通用分页

    本篇文章将深入探讨MySQL存储过程在实现通用分页中的应用。 首先,让我们理解什么是分页。分页是数据库查询结果的一种展示方式,它将大量的数据分成若干个小部分,每次只显示一部分,这样用户可以逐页浏览,避免一...

    SQL Server 2000下的通用分页存储过程

    SQL Server 2000下的通用分页存储过程.sql

    Sql Server 通用分页存储过程(BootStrap Table)

    Sql Server BootStrap Table 分页 通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    Oracle通用分页存储过程

    "Oracle通用分页存储过程"就是为了解决这个问题而设计的。分页存储过程通常包含一系列SQL语句和逻辑,用于从数据库中按指定条件获取特定页码的数据。 在Oracle数据库中,实现分页查询通常涉及到`ROWNUM`伪列或者`...

Global site tag (gtag.js) - Google Analytics