`
徜徉の小溪
  • 浏览: 448710 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

通用分页存储过程高效动态表

Go 
阅读更多
if exists(select * from sysobjects where name='pagedQueryProc')
begin
	drop proc pagedQueryProc
	print 'exists'
end
else 
print 'not exists'
go

create proc pagedQueryProc
@pageIndex int,
@pageSize int ,
@tableName varchar(30)
as
declare @strSql nvarchar(3000);
declare @columnsName varchar(30);
declare @totalCount int;
declare @totalPage int;
declare @strCountSql nvarchar(1000);
   
	select top 1  @columnsName=columns.name from syscolumns as columns,sysobjects as objects  where columns.id=objects.id and objects.name=@tableName;
	
	set @strCountSql='select @totalCount=count(1) from '+@tableName;

    exec sp_executesql @strCountSql,N'@totalCount int output',@totalCount OUTPUT;


	set @totalPage =@totalCount/@pageSize;
	
	
	if  (@totalCount%@pageSize)<>0
		begin
			set @totalPage=@totalPage+1;

		end
	


	if   @pageIndex>1 and  @pageIndex<=@totalPage
		begin
				set @strSql =' select  top '+str(@pageSize) +' *  from '+ @tableName+' where '+@columnsName+' > (select max('+@columnsName+') from '+@tableName+' where '+@columnsName+' in(select top ('+str(@pageSize*(@pageIndex-1))+') '+@columnsName+' from '+@tableName+' order by '+@columnsName+' asc)) order by '+@columnsName+' asc';
		end
	else 
		begin
				set @strSql =' select  top '+str(@pageSize) +' *  from '+ @tableName+' order by '+@columnsName+' asc'
		end 
   exec sp_executesql @strSql
go


exec pagedQueryProc 1,20,'card'  ---你只需要调用就可以了  动态分页        传入三个参数    1.分页当前页数
                                                                                                                           --   2.一页显示记录数
                                     											      --3.需查询的表名

								--是用了max函数进行分页
1
0
分享到:
评论

相关推荐

    通用分页存储过程

    ### 通用分页存储过程知识点解析 #### 一、存储过程概述 在数据库管理系统中,...综上所述,通用分页存储过程为数据库中的数据分页提供了一个高效、灵活且易于使用的解决方案,能够极大地提高开发效率和用户体验。

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

    总结,通用分页存储过程的设计充分体现了灵活性和高效性,通过动态生成SQL语句和利用ROW_NUMBER()函数,实现了对多表数据的快速分页查询。这对于大型数据库系统来说,无疑是一种优化数据访问和提高响应速度的有效...

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

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

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

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

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

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

    通用存储过程高效分页

    下面是一个基于MySQL的例子,展示了一个通用的分页存储过程: ```sql DELIMITER // CREATE PROCEDURE GetPagedData(IN page INT, IN pageSize INT, IN tableName VARCHAR(255), IN orderColumn VARCHAR(255)) BEGIN...

    千万级分页存储过程 实现对表的数据分页 速度非常快

    千万级分页存储过程的核心在于利用索引进行高效的数据定位与检索,通过SQL Server的存储过程(Stored Procedure)实现对大数据表的快速分页查询。 ### 二、SQL Server中的千万级分页实现方法 #### 1. **使用存储...

    通用的SQL server分页存储过程

    在SQL Server数据库管理中,分页查询是一种...这样的通用分页存储过程提高了代码复用性,降低了维护成本,同时使得分页查询更加灵活和高效。对于大型数据库应用,这是非常实用的一个工具,值得在实际项目中推广和使用。

    Oracle通用分页存储过程

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

    SQL通用分页存储过程

    总的来说,"SQL通用分页存储过程"是数据库开发中的一个重要工具,它提供了高效、灵活的分页查询方式,能够有效地提升数据检索的性能和用户体验。通过合理设计和优化,存储过程可以在大量数据处理中发挥巨大的作用。

    2分法-通用分页存储过程

    本文档旨在解析一个名为“2分法-通用分页存储过程”的SQL脚本,该脚本采用Top Max模式来实现高效的数据分页功能。这种方法特别适用于处理大量数据(如十万条以上记录)时的快速分页查询需求。 #### 技术背景 在...

    高效的通用分页存储过程

    ### 高效的通用分页存储过程解析 #### 一、概述 本文将详细介绍一个用于SQL Server 2005的高效通用分页存储过程。该存储过程由Curllion Zhang于2010年1月11日创建,旨在为SQL Server 2005数据库提供一个灵活且高效...

    高效通用分页存储过程(双向检索)

    适用于单一主键或存在唯一值列的表或视图,高效通用分页存储过程(双向检索)

    sql分页存储过程(无论那个表,表中有多少字段都可以用这一个存储过程)

    根据提供的文件信息,本文将详细解释一种通用的SQL分页存储过程实现方法,该方法能够适应不同的表结构、字段数量,并支持自定义排序字段与筛选条件。 ### SQL 分页存储过程解析 #### 标题说明 标题“sql分页存储...

    几款通用的sql分页存储过程

    ### 几款通用的SQL分页存储过程:深入解析与应用 在数据库操作中,分页查询是一项常见的需求,尤其当数据量庞大时,合理的分页可以极大地提高查询效率和用户体验。本文将深入分析两款通用的SQL分页存储过程,分别...

    SQL Server2005通用分页存储过程.rar

    本压缩包"SQL Server 2005通用分页存储过程.rar"包含了一个名为"SQL Server 2005通用分页存储过程.mht"的文件,很可能是详细讲解如何创建和使用分页存储过程的文档。 首先,我们要理解什么是存储过程。存储过程是预...

    oracle和mssql分页存储过程-均通用

    要实现Oracle和MSSQL的通用分页存储过程,可以使用动态SQL。首先,根据数据库类型选择合适的分页语句,然后将分页参数(如页号、每页记录数)传入存储过程。这需要对两种数据库的语法有一定了解,并且可能需要处理...

    java 通用分页 java 通用分页

    Java 通用分页详解 Java 通用分页是指在Java编程中对...Java通用分页是一种高效的分页处理方式,可以提高系统性能和效率。通过使用存储过程GetRecordFromPage,我们可以快速地实现分页处理,提高系统性能和用户体验。

    sql多表分页存储过程

    ### SQL多表分页存储过程解析 #### 标题与描述概述 该存储过程主要针对SQL Server 2005/2000环境下的多表分页查询进行了实现,并且已在SQL环境下测试通过。其核心功能是为用户提供一种灵活且高效的多表分页查询...

Global site tag (gtag.js) - Google Analytics