`
long546324
  • 浏览: 207065 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

几个简单的sql分页存储过程

    博客分类:
  • sql
SQL 
阅读更多
create procedure proc_pager
(	@startIndex int,--开始记录数
	@endIndex int	--结束记录数
)
as
begin
declare @indextable table(id int identity(1,1),nid int)
insert into @indextable(nid) select orderid from orders order by orderid desc
select * 
from orders o
inner join @indextable i
on o.orderid=i.nid
where i.id between @startIndex and @endIndex
order by i.id
end

create procedure proc_pager1
(	@pageIndex int, -- 要选择第X页的数据
	@pageSize int -- 每页显示记录数
)
AS
BEGIN
	declare @sqlStr varchar(500)
	set @sqlStr='select top '+convert(varchar(10),@pageSize)+
	' * from orders where orderid not in(select top '+
	convert(varchar(20),(@pageIndex-1)*@pageSize)+
	' orderid from orders) order by orderid'
	exec (@sqlStr)
END

下面这个仅适用sql2005
create procedure proc_pager2
(	@startIndex int,--开始记录数
	@endIndex int	--结束记录数
)
as
begin
WITH temptbl AS 
(SELECT ROW_NUMBER() OVER (ORDER BY orderid DESC) AS Row, *FROM orders)
 SELECT * FROM temptbl
where row between @startIndex and @endIndex
order by row
end
2
0
分享到:
评论

相关推荐

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

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

    sql 分页存储过程

    "sql分页存储过程"是指利用存储过程实现数据查询时的分页功能,这在大数据量的查询中尤为重要,因为直接一次性返回所有结果可能会消耗大量系统资源并导致响应时间过长。 分页查询是数据库中常用的一种技术,它允许...

    经过优化测试的SQL分页存储过程.rar

    本资源"经过优化测试的SQL分页存储过程.rar"提供了一种经过性能测试的SQL分页解决方案,其核心在于存储过程。 存储过程是预编译的SQL语句集合,它们被存储在数据库中,可以由应用程序调用执行。这带来了诸多好处,...

    标准SQLServer分页存储过程

    ### 标准SQL Server分页存储过程:深入解析与应用 在处理大量数据时,分页技术是提高数据展示效率和用户体验的关键。SQL Server提供的存储过程是实现分页功能的有效方式之一。本文将深入探讨微软C# .NET中的宠物...

    万能分页存储过程

    本文将详细介绍一个名为“万能分页存储过程”的SQL Server存储过程,该存储过程可以实现在多种情况下的高效分页功能。 #### 二、存储过程定义 根据提供的部分代码内容,我们可以看出这是一个用于执行分页查询的存储...

    Sql server 分页存储过程的性能对比

    在"分页存储过程效率对比.doc"文档中,可能详细分析了每种方法的执行计划、资源消耗、响应时间等指标,通过实验数据来展示不同方法在实际应用中的性能差异。对比这些数据可以帮助我们理解在特定数据库结构和工作负载...

    ORACLE分页存储过程

    在分页存储过程中,主要理解了变量的动态赋值和输入输出参数的使用就非常简单了 下面为调用方法: var c_Preccount number; var c_Ppagecount number; var c_cur refcursor; exec proc_SpPag(1,'SELECT * FROM T_...

    两个分页存储过程的效率比较

    在比较两个分页存储过程的效率时,我们需要考虑几个关键因素:一是动态SQL的构建和执行,这可能会对性能产生影响,尤其是当查询条件复杂时;二是处理排序逻辑的复杂性,特别是涉及数据类型的转换;三是事务处理的...

    效率高的分页存储过程实现的分页

    存储过程的实现通常包括以下几个步骤: 1. 计算总页数:根据查询结果的总数除以每页大小,向上取整得到。 2. 确定查询范围:根据当前页号和每页大小,计算出开始和结束的记录位置。 3. 执行查询:使用OFFSET和FETCH ...

    SQL 万能分页存储过程

    SQL 万能分页存储过程就是为了满足这一需求而设计的。它能够高效地处理分页查询,并同时提供查询总记录数的功能,对于开发人员来说,是一个非常实用的工具。 分页查询的基本原理是通过LIMIT和OFFSET(在MySQL中)...

    sqlserver 支持多表联合查询分页存储过程

    根据提供的信息,我们可以深入探讨如何在SQL Server中创建一个支持多表联合查询并实现分页功能的存储过程。本文将详细介绍存储过程的设计思路、参数解释、实现细节以及可能遇到的问题和解决方案。 ### 一、存储过程...

    高效分页存储过程

    本文将深入分析一个高效的分页存储过程,并探讨其在实际场景中的应用。 #### 存储过程概览 该存储过程名为`GetPageDataOut`,主要用于实现高效的数据分页功能。通过传入表名、主键、当前页码、每页显示条数、查询...

    分页存储过程简单易用

    根据题目中的描述和部分代码内容,我们可以分析出该分页存储过程包含以下几个关键要素: 1. **参数定义**: - `@QueryStr nvarchar(4000)`:用于存储查询语句的字符串。 - `@PageSize int = 10`:设置每页显示的...

    分页SQLServer存储过程

    ### 分页SQL Server存储过程详解 #### 一、引言 在进行大量数据查询时,直接获取所有数据可能会导致性能问题。为了优化用户体验并减轻服务器压力,分页技术应运而生。本文将详细介绍一种利用SQL Server存储过程...

    sql oracle bootstrap海量存储过程jquery分页

    标题中的“sql oracle bootstrap海量存储过程jquery分页”揭示了几个关键知识点,这些知识点主要集中在数据库操作、前端展示以及分页技术上。首先,我们来深入理解这些概念: 1. **Oracle**:Oracle是一种关系型...

    sql 存储过程分页

    ### SQL存储过程分页技术详解 在数据库管理与应用程序开发中,数据的高效查询与展示是至关重要的。尤其是在处理大量数据时,分页查询能够显著提高数据加载速度和用户体验。SQL存储过程作为一种预编译的代码块,可以...

    SQL Server 2005分页显示存储过程

    SQL Server 2005 提供了多种方法来实现分页查询,本文将详细介绍几种典型的分页显示存储过程,并比较它们之间的执行效率。 #### 核心知识点 ##### 1. 使用 `SELECT TOP` 和 `NOT IN` 实现分页 这种方法是通过先...

    双向检索的高性能分页存储过程

    在SQL Server数据库管理系统中,高性能的分页存储过程是一个关键的优化策略,它主要用于处理大量数据的查询场景,如报表展示、数据浏览等。当数据量过大无法一次性加载时,分页检索能有效地提高用户体验,同时减少...

    带排序的oracle分页存储过程

    在提供的存储过程中,主要包含了以下几个关键步骤: 1. **参数定义**: - `v_page_size int`:每页显示的记录数。 - `v_current_page int`:当前页码。 - `v_table_name varchar2`:待查询的表名。 - `v_order_...

    如何创建分页的存储过程

    #### 分页存储过程实现 分页查询通常需要以下三个参数: - `@startindex`:表示从哪一条记录开始查询。 - `@pagesize`:表示每页显示多少条记录。 - `@totalcount`:输出参数,用于返回符合条件的记录总数。 以下是...

Global site tag (gtag.js) - Google Analytics