`

SQL Server 2005 分页存储过程

阅读更多

支持:多表连接查询、Group by分组查询等。(多表连接查询时请指定字段,不要用SELECT *)
返回为一结果集,有一个输出参数为记录总数,配合AspNetPager控件使用绝配。

CREATE PROCEDURE web_pager (
    
@rowsTotal INT OUTPUT,            --输出记录总数
    @tableName VARCHAR(800),        --表名
    @fieldName VARCHAR(800),        --查询字段
    @keyName VARCHAR(200),            --索引字段
    @pageSize INT,                    --每页记录数
    @pageNow INT,                    --当前页
    @stringOrder VARCHAR(200),        --排序条件
    @stringWhere VARCHAR(800)        --WHERE条件
)
AS
BEGIN
     
DECLARE @beginRow INT
     
DECLARE @endRow INT
     
DECLARE @tempLimit VARCHAR(200)
     
DECLARE @tempCount NVARCHAR(1000)
     
DECLARE @tempMain VARCHAR(1000)

     
SET @beginRow = (@pageNow - 1* @pageSize    + 1
     
SET @endRow = @pageNow * @pageSize
     
SET @tempLimit = 'rows BETWEEN ' + CAST(@beginRow AS VARCHAR+' AND '+CAST(@endRow AS VARCHAR)
     
     
--输出参数为总记录数
     SET @tempCount = 'SELECT @rowsTotal = COUNT(*) FROM (SELECT '+@keyName+' FROM '+@tableName+' WHERE '+@stringWhere+') AS my_temp'
     
EXECUTE sp_executesql @tempCount,N'@rowsTotal INT OUTPUT',@rowsTotal OUTPUT
       
     
--主查询返回结果集
     SET @tempMain = 'SELECT * FROM (SELECT ROW_NUMBER() OVER ('+@stringOrder+') AS rows ,'+@fieldName+' FROM '+@tableName+' WHERE '+@stringWhere+') AS main_temp WHERE '+@tempLimit
     
EXECUTE (@tempMain)
END

分享到:
评论

相关推荐

    sql Server 通用分页存储过程

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

    sql server2005 分页存储过程

    ### SQL Server 2005 分页存储过程详解 #### 概述 本文将详细介绍一个在 SQL Server 2005 中实现分页功能的存储过程。该存储过程名为 `utilPAGE`,它通过接收一系列参数来实现对指定数据源(表或存储过程等)的数据...

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

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

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

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

    sql2000和sql2005分页存储过程

    2. SQL Server 2005 分页存储过程: SQL Server 2005引入了`OFFSET`和`FETCH NEXT`关键字,使得分页查询更为简洁。下面是一个使用这些关键字的存储过程示例: ```sql CREATE PROCEDURE GetPagedData_2005 @...

    SQLServer2008分页存储过程和java调用

    PagingOperation数据库SQLServer2008分页存储过程(和java调用存储过程源代码): 调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家...

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    asp+sqlserver2005万能分页存储过程源码

    asp+sqlserver2005万能分页存储过程源码 sqlserver2005源码下载,很灵活的

    sqlserver 分页存储过程

    SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...

    sql server2008分页存储过程

    本人整理的sql server2008分页存储过程,很好用的,效率很高

    SQL Server调用分页存储过程

    sql server数据库中分页的存储过程,参数中比较灵活,如果首页传1,非首页传其他。

    SqlServer 分页存储过程以及代码调用

    二、SQL Server的分页存储过程 在SQL Server中,可以使用`OFFSET`和`FETCH NEXT`语句实现分页。下面是一个简单的分页存储过程示例: ```sql CREATE PROCEDURE [dbo].[usp_GetPagedData] @TableName NVARCHAR(128)...

    sql server分页存储过程演示

    sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 ...

    sql server 通用分页存储过程

    1.查询返回的表、列名以及排序列没有写死,可以根据需要将这些放到存储过程的输入参数中; 2.适用于所有需要分页的单表或多表联合查询。

    SQL Server 2005分页显示存储过程

    ### SQL Server 2005 分页显示存储过程 #### 背景介绍 在数据库应用开发中,分页查询是非常常见的需求之一。对于大型数据集来说,如果一次性加载所有数据到前端展示,不仅会增加服务器负担,还会影响用户体验。因此...

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

    本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数:当前页码(PageNumber)和每页记录数(PageSize)。...

    最简单的SQL Server数据库存储过程分页

    ### 最简单的SQL Server数据库存储过程分页 #### 知识点概述 在处理大量数据时,分页查询是一项常见的需求。传统的T-SQL分页方法可能会导致性能问题,尤其是在面对百万级别的数据集时。本文介绍一种简单且高效的...

    SQL Server2005分页查询

    综上所述,SQL Server 2005提供了多种分页查询的方法,包括`ROW_NUMBER()`函数、临时表和存储过程以及`SET ROWCOUNT`。每种方法都有其优缺点,需要根据实际的数据库规模、查询性能要求以及数据排序方式来选择最适合...

    sql的存储过程-简单分页

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

Global site tag (gtag.js) - Google Analytics