`
SilenceGG
  • 浏览: 109461 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

分页存储过程

    博客分类:
  • SQL
阅读更多

 

create or replace procedure PageOracle

(

p_pageSize in number, --输入参数:每页记录数

p_currentPage in number, --输入参数:当前页

p_sql in varchar2 , --查询语句

 v_maxPage out number, --总页数--

v_totalRows out number,--总记录数--

 result_cursor out SYS_REFCURSOR --结果集 

) is

  v_sql_totalRows varchar2(3000); 

  v_rowStart number; --开始行--

  v_rowEnd number; ---结束行--

  v_mod number;

  v_query_sql varchar2(3000);

begin

  ----查询出符合条件的总记录数--

     v_sql_totalRows := 'select count(*) from ( ' ||  p_sql || ')';

  execute immediate v_sql_totalRows into v_totalRows;

  select mod(v_totalRows,p_pageSize) into v_mod from dual;

  if v_mod = 0 then

     v_maxPage := v_totalRows/p_pageSize; 

  else 

     v_maxPage := ((v_totalRows-v_mod)/p_pageSize+1);

  end if;

     v_rowStart :=(p_currentPage-1)*p_pageSize+1;

     v_rowEnd :=p_currentPage*p_pageSize;

    v_query_sql :=' select *  from (

        select A.*,rownum rn 

         from (select * from '||p_sql || ') A

         where rownum < = '||v_rowEnd|| 

     ') where rn > = ' ||v_rowStart;

    open result_cursor for v_query_sql; 

end PageOracle;

分享到:
评论

相关推荐

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

    高效分页存储过程的实现对于优化数据库性能至关重要。本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数...

    sql Server 通用分页存储过程

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

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

    本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解分页的基本概念。在网页或应用程序中,我们通常会看到“上一页”、“下一页”这样的导航,这就是分页的表现形式。分页查询通过设置每页显示...

    万能分页存储过程

    ### 万能分页存储过程知识点详解 #### 一、概述 在数据库操作中,分页查询是一项常用且重要的技术,特别是在数据量较大的场景下,能够显著提高用户体验和系统性能。本文将详细介绍一个名为“万能分页存储过程”的...

    MYSQL分页存储过程

    本文将深入解析MySQL中的分页存储过程,通过实例代码讲解其工作原理与实现步骤。 ### MySQL分页存储过程概述 分页存储过程是一种在数据库层面上实现数据分页的技术。相比应用程序级别的分页,它能更高效地处理数据...

    分页存储过程示例系统

    在IT领域,分页存储过程是数据库管理中的一个重要概念,特别是在构建大规模的Web应用程序时,如新闻系统。分页能够有效地提高用户体验,因为用户可以逐步加载数据,而不是一次性加载所有内容,这降低了服务器的负担...

    分页存储过程 分页存储过程 分页存储过程

    分页存储过程 分页存储过程 分页存储过程 sql代码

    c#调用分页存储过程

    "C#调用分页存储过程"是一个常见的技术实践,它结合了C#编程语言和SQL Server的存储过程来高效地获取数据库中的分页数据。这种方法可以有效地减少网络传输的数据量,提高用户界面的响应速度,尤其是在数据量达到百万...

    通用分页存储过程

    ### 通用分页存储过程知识点解析 #### 一、存储过程概述 在数据库管理系统中,存储过程是一种预先编译并存储在数据库中的SQL程序。它能够接收参数,并根据这些参数执行复杂的逻辑操作,如数据查询、更新等。通过...

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

    本文将深入探讨如何通过使用存储过程来实现高效的分页存储过程,特别是针对ASP.NET应用程序。 标题 "效率高的分页存储过程实现的分页" 提到的是一种优化数据检索的技术。在ASP.NET开发中,GridView控件是常用的数据...

    sqlserver 分页存储过程

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

    Oracle 分页存储过程 终极版

    "Oracle分页存储过程 终极版"旨在提供一个高效、灵活的解决方案,以应对各种分页查询的需求。这个存储过程优化了性能,并支持各种条件筛选和排序,使得在海量数据中进行分页操作变得更为便捷。 首先,理解分页的...

    C#调用分页存储过程实例

    本文将深入探讨如何使用C#语言调用SQL Server的分页存储过程,帮助开发者更高效地处理大量数据。 首先,理解分页查询的概念。分页查询是一种在大数据集上进行有效检索的方法,它允许用户按需加载一定数量的数据,而...

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

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

    oracle分页存储过程

    oracle分页存储过程,oracle分页存储过程

    Oracle分页存储过程

    ### Oracle分页存储过程解析与应用 在数据库管理和应用程序开发中,处理大量数据时,分页查询是一项常用且重要的技术。Oracle数据库提供了多种方法来实现数据分页,其中使用存储过程进行分页是一种高效且灵活的方式...

    ORACLE分页存储过程

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

    效率极高的万能分页存储过程

    ### 效率极高的万能分页存储过程 在数据库操作中,分页查询是非常常见的需求之一,尤其是在处理大量数据时。本篇文章将详细介绍一个高效且灵活的分页存储过程,该过程能够满足多种场景下的分页需求,并具有较高的...

    Oracle 分页存储过程

    一个高效的分页存储过程可能如下所示: ```sql CREATE OR REPLACE PROCEDURE get_paged_data ( p_condition VARCHAR2, p_page_num NUMBER, p_records_per_page NUMBER, result OUT SYS_REFCURSOR ) AS v_...

Global site tag (gtag.js) - Google Analytics