`

存储过程中的分页

阅读更多
create procedure procPageResult
---获得某一页的数据---
@currPage int = 1,   --->当前页页码(即top currPage)
@showColumn varchar(2000) = '*', --->需要查询的字段(即column1,column2,......)
@tabName varchar(2000),   --->需要查看的表名(即from table_name)
@strCondition varchar(2000) = '', --->查询条件(即where condition......) 不用加where关键字
@ascColumn varchar(100) = '',  --->排序的字段名(即order by column asc/desc)
@bitOrderType int = 0,   --->排序的类型(0为升序,1为降序)
@pkColumn varchar(50) = '',  --->主键名称
@pageSize int = 20   --->分页大小
as
begin  --->存储过程开始
---该存储过程需要用到的几个变量---
declare @strTemp varchar(1000)
declare @strSql varchar(4000)  --->该存储过程最后执行的语句
declare @strOrderType varchar(1000) --->排序类型语句(order by column asc/desc)
begin
if @bitOrderType = 1  --->@bitOrderType = 1 即执行降序
begin
    set @strOrderType = ' order by ' + @ascColumn + ' desc'
    set @strTemp = '<(select min'
end
else
begin
    set @strOrderType = ' order by ' + @ascColumn + ' asc'
    set @strTemp = '>(select max'
end
if @currPage = 1 --->如果是第一页
begin
    if @strCondition != ''
set @strSql = 'select top ' + str(@pageSize) + ' ' + @showColumn + ' from ' + @tabName + ' where ' + @strCondition + @strOrderType
     else
set @strSql = 'select top ' + str(@pageSize) + ' ' + @showColumn + ' from ' + @tabName + @strOrderType
end
else  --->其他页
begin
    if @strCondition != ''
set @strSql = 'select top ' + str(@pageSize) + ' ' + @showColumn + ' from ' + @tabName + ' where ' + @strCondition + ' and ' +
@pkColumn + @strTemp + '(' + @pkColumn + ')' + ' from (select top ' + str((@currPage-1)*@pageSize) + ' ' + @pkColumn +
' from ' + @tabName + @strOrderType + ') as TabTemp)' + @strOrderType
    else
set @strSql = 'select top ' + str(@pageSize) + ' ' + @showColumn + ' from ' + @tabName + ' where ' + @pkColumn + @strTemp +
'(' + @pkColumn + ')' + ' from (select top ' + str((@currPage-1)*@pageSize) + ' ' + @pkColumn + ' from ' +
@tabName + @strOrderType + ') as TabTemp)' + @strOrderType
end
end
EXEC (@strSql)
end --->存储过程结束
go
分享到:
评论

相关推荐

    高效分页存储过程 高效分页存储过程

    高效分页存储过程的实现对于优化数据库性能至关重要。本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数...

    分页存储过程 分页存储过程 分页存储过程

    分页存储过程 分页存储过程 分页存储过程 sql代码

    mysql存储过程实现分页

    通过上述存储过程,我们可以轻松地实现MySQL中的分页功能。这种方法不仅提高了代码的复用性,还增强了代码的可维护性和扩展性。同时,通过预编译的方式执行SQL语句,可以有效避免SQL注入等安全问题。总之,利用MySQL...

    存储过程分页+分页控件

    本话题将深入探讨“存储过程分页”以及与之配合使用的“分页控件”,帮助你理解这两种技术的核心概念及其应用。 首先,我们来讨论“存储过程分页”。存储过程是预编译的SQL语句集合,它在数据库服务器上执行,可以...

    sql Server 通用分页存储过程

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

    C# 存储过程实现分页

    在C#应用程序中,我们可以利用存储过程来实现分页功能,以高效地获取数据库中的部分数据,而不是一次性加载所有记录,从而改善用户体验并减少服务器负载。下面我们将详细探讨如何在C#中使用存储过程实现分页功能。 ...

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    sql的存储过程-简单分页

    很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术

    ASP.NET 存储过程分页

    ASP.NET 存储过程分页是一种在Web应用中实现高效数据检索的技术,它结合了数据库存储过程和分页策略,以提高性能并减轻服务器负担。在这个主题中,我们将深入探讨如何在ASP.NET环境中利用存储过程来实现数据的分页...

    asp.net 用存储过程实现分页(附代码)

    本教程将详细讲解如何利用存储过程在ASP.NET中实现分页功能,并提供相应的代码示例。 一、分页原理 分页的核心思想是每次只从数据库中获取一部分数据,而不是一次性加载所有数据。这可以通过设置“开始位置”(偏移...

    万能分页存储过程

    在提供的`万能分页存储过程.txt`文件中,很可能包含了详细的存储过程定义,包括如何处理这些复杂性和细节。通过阅读和理解这个文本文件,我们可以深入了解这个存储过程是如何工作的,以及如何在自己的项目中有效地...

    sql分页 sqlserver中存储过程分页

    #### 存储过程分页概述 存储过程是一种预先编译好的 SQL 代码块,存储在 SQL Server 数据库中。使用存储过程进行分页查询的好处包括:提高执行效率、增强代码复用性以及提供更好的安全性等。 #### 示例存储过程分析...

    oracle调用存储过程实现分页

    本篇文章将深入探讨如何在Oracle中通过调用存储过程实现分页功能。 首先,我们需要创建一个存储过程,这个过程将接收两个参数:起始记录编号(一般为当前页数乘以每页显示的记录数)和每页的记录数。存储过程内部会...

    Oracle 存储过程分页

    Oracle 提供了多种方法实现分页查询,下面我们将详细探讨Oracle存储过程中的分页实现。 1. **ROWNUM伪列** 在早期的Oracle版本中,ROWNUM伪列被广泛用于分页。ROWNUM是在结果集生成时自动分配的,表示每一行的顺序...

    mysql存储过程通用分页

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

    sybase 实现分页的存储过程

    ### Sybase 中实现分页技术的存储过程 #### 背景介绍 Sybase 是一款高性能的关系型数据库管理系统,广泛应用于金融、电信等对数据处理性能有极高要求的领域。在实际的应用场景中,常常需要从数据库中获取大量的数据...

    分页 分页存储 存储过程 存储分页

    分页存储过程是指在数据库管理系统(DBMS)中使用的一种存储程序,用于高效地处理大量数据的分页查询。这种存储过程通常被设计为通用的,可以适用于不同的数据表和查询需求。存储过程是一组预先编译的SQL语句,它...

    分页存储过程示例系统

    在IT领域,分页存储过程是数据库管理中的一个重要概念,特别是在构建大规模的Web应用程序时,如新闻系统。分页能够有效地提高用户体验,因为用户可以逐步加载数据,而不是一次性加载所有内容,这降低了服务器的负担...

    ASPNET存储过程自定义分页详解

    本教程将深入讲解如何利用存储过程实现自定义分页,以提高性能并优化用户体验。ASP.NET、C#、SQL以及DBA技能在此过程中扮演着核心角色。 首先,我们需要理解什么是存储过程。存储过程是预编译的SQL语句集合,存储在...

Global site tag (gtag.js) - Google Analytics