一个通用的数据分页的存储过程
CREATE PROCEDURE sp_page
@tb varchar(20), --表名
@col varchar(20), --按该列来进行分页
@coltype bit, --@col列的类型,0-数字类型,1-字符类型
@collist varchar(800),--要查询出的字段列表
@selecttype int, --查询类型,1-前页,2-后页,3-首页,4-末页,5-指定页
@pagesize int, --每页记录数
@page int, --指定页
@minid varchar(50), --当前最小号
@maxid varchar(50) --当前最大号
AS
DECLARE @sql varchar(8000)
IF @coltype=1
BEGIN
SET @minid=''''+@minid+''''
SET @maxid=''''+@maxid+''''
END
SET @sql=
CASE @selecttype
WHEN 1--前页
THEN 'SELECT '+@collist+' FROM (SELECT TOP '+CAST(@pagesize AS varchar)+
' '+@collist+' FROM '+@tb+' WHERE '+@col+'<'+@minid+
' ORDER BY '+@col+' DESC) t ORDER BY '+@col
WHEN 2--后页
THEN 'SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
' FROM '+@tb+' WHERE '+@col+'>'+@maxid+' ORDER BY '+@col
WHEN 3--首页
THEN 'SELECT TOP '+CAST(@pagesize AS varchar)+
' '+@collist+' FROM '+@tb+' ORDER BY '+@col
WHEN 4--末页
THEN 'SELECT '+@collist+' FROM (SELECT TOP '+CAST(@pagesize AS varchar)+
' '+@collist+' FROM '+@tb+' ORDER BY '+@col+' DESC) t ORDER BY '+@col
WHEN 5--指定页
THEN 'SELECT TOP '+CAST(@pagesize AS varchar)+' '+@collist+
' FROM '+@tb+' WHERE '+@col+' NOT IN'+
'(SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+@col+
' FROM '+@tb+' ORDER BY '+@col+') ORDER BY '+@col
END
EXEC(@sql)
GO
转自http://www.itpub.net/542180.html
分享到:
相关推荐
### 通用分页存储过程知识点解析 #### 一、存储过程概述 在数据库管理系统中,...综上所述,通用分页存储过程为数据库中的数据分页提供了一个高效、灵活且易于使用的解决方案,能够极大地提高开发效率和用户体验。
本文将深入解析“千万级分页存储过程实现对表的数据分页速度非常快”的核心知识点,包括其原理、实现方法以及SQL Server中的具体应用。 ### 一、千万级分页存储过程的核心原理 在处理海量数据时,传统的全表扫描或...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者编写一系列复杂的SQL语句,...同时,结合标签“源码”和“工具”,可能还涉及到如何将这些存储过程集成到开发工具或脚本中,以自动化处理数据分页的工作。
根据提供的文件信息,我们可以了解到这段代码是用于创建一个SQL Server中的通用分页存储过程,名为`pagination3`。此存储过程旨在提供一种灵活且高效的方式来处理数据库查询中的分页问题,使得开发人员能够轻松地在...
标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能。 #### 描述解析 描述部分简述了此存储过程的特点:“Oracle通用数据库存储...
最通用的分页存储过程 获取指定页的数据 支持多表查询支持条件查询 支持排序--支持返回列自定义
在本文中,我们使用了一个名为GetRecordFromPage的存储过程,这个存储过程可以根据需要进行分页处理。 4. 存储过程GetRecordFromPage GetRecordFromPage存储过程是我们实现分页处理的核心部分。这个存储过程接受多...
万能分页存储过程之所以被称为“万能”,是因为它应该具备足够的灵活性和通用性,能够适应各种表结构和查询需求,而不局限于特定的场景或数据模型。 首先,我们来理解分页的基本原理。分页查询通常涉及到两个关键...
本文介绍了一个能够在多种数据库环境下使用的通用分页存储过程,并提供在ASPX页面中的调用方法。 #### 二、存储过程详解 存储过程定义如下: ```sql ALTER PROCEDURE pro_Pagelist @tablenam nvarchar(50), @...
下面是一个通用分页存储过程的示例: ```sql CREATE PROCEDURE dbo.GetPagedData @TableName NVARCHAR(128), -- 表名 @ColumnToOrder NVARCHAR(128), -- 排序字段 @SortOrder VARCHAR(4), -- 排序方式(ASC或...
web中通用分页存储过程,是根据PageIndex来取得相应的页数据,并不是上下翻页,对单字段,多字段均适用,并在百万级数据上测试,分页速度较好。
### 几款通用的SQL分页存储过程:深入解析与应用 在数据库操作中,分页查询是一项常见的需求,尤其当数据量庞大时,合理的分页可以极大地提高查询效率和用户体验。本文将深入分析两款通用的SQL分页存储过程,分别...
通用分页存储过程主要通过接受多个参数来动态生成SQL语句,以实现对多表数据的分页查询。其核心在于灵活处理不同场景下的分页需求,包括字段选择、表连接、排序方式和额外的过滤条件等。此过程不仅简化了前端应用的...
综上所述,这个"oracle和mssql分页存储过程-均通用"的压缩包文件提供了一个跨平台的解决方案,帮助开发者在Oracle和MSSQL数据库中轻松实现高效的分页查询,同时提高了代码的可维护性和复用性。在实际应用中,应结合...
总的来说,"SQL通用分页存储过程"是数据库开发中的一个重要工具,它提供了高效、灵活的分页查询方式,能够有效地提升数据检索的性能和用户体验。通过合理设计和优化,存储过程可以在大量数据处理中发挥巨大的作用。
总之,"Oracle通用分页存储过程"是数据库管理和开发中的一个重要工具,它能帮助我们有效地处理大规模数据的查询,提供流畅的用户界面,并优化数据库资源的使用。通过学习和理解分页存储过程的工作原理和优化技巧,...
一个最给力的分页存储过程,在程序中我们都需要对数据进行分页显示
"通用的分页存储过程"是指设计一个能够适用于多种场景的存储过程,用于查询数据时实现分页显示。在大数据量的表中,分页查询是必要的,以避免一次性加载过多数据导致性能下降和用户体验不佳。 分页查询通常涉及到两...