/*
数据库分页存储过程,支持倒序和升序
参数说明:
@tablename:为搜索表名
@tablefield:为表的字段,约定为表的主键,
@where:为搜索表名,要显示所有记录请设为"1=1"
@orderby:为搜索结果排序,如order by id desc
@fieldlist:为字段列表,如userid, username
@curpage:当前页码
@page_record:每页记录条数
@Sort:排序标识(如果是倒序排,参数值为desc,为升序,参数值为asc,跟orderby参数是对应的)
结果: 返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序
*/
CREATE PROCEDURE proc_CommonPaging
@tablename varchar(100),
@tablefield varchar(20),
@where varchar(5000),
@orderby varchar(500),
@fieldlist varchar(1000),
@curpage int,
@page_record int,
@sort varchar(8)
AS
BEGIN
DECLARE @cmd varchar(8000)
DECLARE @uprecord int
DECLARE @Op varchar(2) -- 操作符
DECLARE @max_min varchar(4) -- 最大/最小计算
SET @op = '<'
SET @max_min = 'MIN'
IF @sort = 'asc'
BEGIN
SET @Op = '>'
SET@max_min = 'MAX'
END
SET @uprecord=@curpage * @page_record
IF @curpage = 0
SET @cmd = 'SELECT TOP '+cast(@page_record AS NVARCHAR)+' '+@fieldlist+' FROM '+@tablename+' WHERE '+@where+' '+@orderby
ELSE
SET @cmd = 'SELECT TOP '+cast(@page_record AS NVARCHAR)+' '+@fieldlist+' FROM '+@tablename+' WHERE '+@where+' AND '+@tablefield+'
'+@op+' (SELECT '+@max_min+'('+@tablefield+') FROM (SELECT TOP '+cast(@uprecord AS NVARCHAR)+' '+@tablefield+' FROM '+@tablename+' WHERE
'+@where+' '+@orderby+') AS TmpTbl ) AND '+@where+' '+@orderby
SET @cmd = @cmd + '; SELECT COUNT(*) FROM '+@tablename+' WHERE '+@where
EXEC(@cmd)
PRINT(@cmd)
END
GO
分享到:
相关推荐
高效分页存储过程的实现对于优化数据库性能至关重要。本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数...
分页存储过程 分页存储过程 分页存储过程 sql代码
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解分页的基本概念。在网页或应用程序中,我们通常会看到“上一页”、“下一页”这样的导航,这就是分页的表现形式。分页查询通过设置每页显示...
oracle分页存储过程,oracle分页存储过程
### 万能分页存储过程知识点详解 #### 一、概述 在数据库操作中,分页查询是一项常用且重要的技术,特别是在数据量较大的场景下,能够显著提高用户体验和系统性能。本文将详细介绍一个名为“万能分页存储过程”的...
本文将深入解析MySQL中的分页存储过程,通过实例代码讲解其工作原理与实现步骤。 ### MySQL分页存储过程概述 分页存储过程是一种在数据库层面上实现数据分页的技术。相比应用程序级别的分页,它能更高效地处理数据...
在IT领域,分页存储过程是数据库管理中的一个重要概念,特别是在构建大规模的Web应用程序时,如新闻系统。分页能够有效地提高用户体验,因为用户可以逐步加载数据,而不是一次性加载所有内容,这降低了服务器的负担...
"C#调用分页存储过程"是一个常见的技术实践,它结合了C#编程语言和SQL Server的存储过程来高效地获取数据库中的分页数据。这种方法可以有效地减少网络传输的数据量,提高用户界面的响应速度,尤其是在数据量达到百万...
"Oracle分页存储过程 终极版"旨在提供一个高效、灵活的解决方案,以应对各种分页查询的需求。这个存储过程优化了性能,并支持各种条件筛选和排序,使得在海量数据中进行分页操作变得更为便捷。 首先,理解分页的...
本文将深入探讨如何通过使用存储过程来实现高效的分页存储过程,特别是针对ASP.NET应用程序。 标题 "效率高的分页存储过程实现的分页" 提到的是一种优化数据检索的技术。在ASP.NET开发中,GridView控件是常用的数据...
### 通用分页存储过程知识点解析 #### 一、存储过程概述 在数据库管理系统中,存储过程是一种预先编译并存储在数据库中的SQL程序。它能够接收参数,并根据这些参数执行复杂的逻辑操作,如数据查询、更新等。通过...
本文将深入探讨如何使用C#语言调用SQL Server的分页存储过程,帮助开发者更高效地处理大量数据。 首先,理解分页查询的概念。分页查询是一种在大数据集上进行有效检索的方法,它允许用户按需加载一定数量的数据,而...
SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...
oracle分页存储过程详细的编码 可直接使用 拿去使用吧
分页存储过程 分页存储过程分页存储过程分页存储过程
二、SQL Server的分页存储过程 在SQL Server中,可以使用`OFFSET`和`FETCH NEXT`语句实现分页。下面是一个简单的分页存储过程示例: ```sql CREATE PROCEDURE [dbo].[usp_GetPagedData] @TableName NVARCHAR(128)...