`
xiaowu.yang
  • 浏览: 1492 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Oracle分页通用存储过程

阅读更多
create or replace package page is   
type type_cur is ref cursor;   
procedure p_pagintion   
(   
       psql in varchar2,       --条件SQL语句   
       pfrist in number,       --第几页   
       psize in number,        --一页显示多少条   
       pcount out number,      --共几页   
       pnotecount out number,  --总记录   
       pnote out type_cur      --显示页的记录   
);   
END;   
/  
create or replace package body page is   
  
procedure p_pagintion   
(   
       psql in varchar2,       --条件SQL语句   
       pfrist in number,       --第几页   
       psize in number,        --一页显示多少条   
       pcount out number,      --共几页   
       pnotecount out number,  --总记录   
       pnote out type_cur      --显示页的记录   
)   
AS   
v_pfrist number;   
v_sql varchar2(4000);   
v_sql1 varchar2(4000);   
v_sql2 varchar2(4000);   
v_sql3 varchar2(4000);   
v_notecount number;   
v_min number;   
v_max number;   
BEGIN   
            v_sql:='select count(*) from (' || Psql || ')';--查询总记录的SQL   
            execute immediate v_sql into v_notecount;--执行SQL把总记录结果得到   
            pnotecount:=v_notecount;   
            pcount:=ceil(pnotecount/psize);--求出总页数   
            v_pfrist:=pfrist;   
            IF(v_pfrist > pcount)THEN   
            v_pfrist:=pcount; -- 如果传进来的页数大于最后一页,默认返回最后一页数据   
            end IF;   
            v_max:=v_pfrist*psize;--显示页的最大记录排行值   
            v_min:=v_max-psize+1;--显示页的最小记录排行值   
            v_sql1:='select * from (select rownum rn,t.* from ';   
            v_sql2:=' t ) where rn between '||v_min||' and '||v_max;   
            v_sql3:=v_sql1||' ( '||psql||' ) '||v_sql2;--分页SQL   
            open pnote for v_sql3;   
END p_pagintion;   
END page;   
/  
 

 

分享到:
评论

相关推荐

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

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

    oracle查询分页条件通用存储过程

    oracle数据库的查询分页加条件和排序的通用型存储过程,通过将表名以参数的形式传入到存储过程中做到多表通用,也可以是多表关联的sql语句 将其看作一个表也能调用该存储过程,分页只需要传与页数,和每页显示的行数...

    Oracle通用分页存储过程

    以下是一个简单的Oracle分页存储过程示例: ```sql CREATE OR REPLACE PROCEDURE get_paged_data ( p_page_size IN NUMBER, p_current_page IN NUMBER, p_table_name IN VARCHAR2, p_sort_column IN VARCHAR2, ...

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

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

    通用ORACLE存储过程实现分页和查询

    为了优化,可以考虑使用Oracle的ROW_NUMBER()函数配合窗口函数,但这需要在查询中进行调整,可能不再适合作为通用存储过程。 总结来说,Oracle存储过程实现分页查询的关键在于动态构造SQL语句,结合ROWNUM或ROW_...

    Oracle分页存储过程

    "Oracle分页存储过程"就是将分页查询的逻辑封装到一个存储过程中,使得在多个地方调用分页查询时更为便捷。 创建一个简单的分页存储过程,我们可以定义两个输入参数:一个是起始记录的索引(通常为1),另一个是每...

    oracle存储过程通用分页

    这篇博客“Oracle存储过程通用分页”将深入探讨如何利用Oracle存储过程来实现高效、灵活的分页功能。 首先,理解分页的基本概念至关重要。分页是将大型数据集分成若干小块,每次只加载一部分数据到内存中,这样可以...

    Oracle数据库通用的分页存储过程

    Oracle数据库中实现分页查询主要有两种方法:ROWNUM和ROW_NUMBER()函数,这里我们主要讨论通过存储过程实现的通用分页方法。 一、ROWNUM方法 ROWNUM是Oracle数据库中的一个伪列,它会为每一行分配一个唯一的整数,...

    经典的分页、排序SQL 通用存储过程.rar

    本文将详细解析"经典的分页、排序SQL 通用存储过程"所涉及的知识点,并给出如何实现这样的存储过程。 首先,分页是数据库查询中的一种优化策略,用于限制每次查询返回的结果数量,从而避免一次性加载大量数据导致的...

    ASP.NET基于通用存储过程的分页

    本主题将深入探讨如何在ASP.NET中利用通用存储过程实现分页。 首先,理解存储过程的概念是至关重要的。存储过程是在数据库中预编译的SQL语句集合,它能够执行特定的任务,如查询、插入、更新或删除数据。在分页场景...

    通用的分页存储过程,内置的函数、内连接、左外连接

    "通用的分页存储过程"是指设计一个能够适用于多种场景的存储过程,用于查询数据时实现分页显示。在大数据量的表中,分页查询是必要的,以避免一次性加载过多数据导致性能下降和用户体验不佳。 分页查询通常涉及到两...

    一个通用的分页存储过程与在aspx页面中调用的方法

    ### 通用分页存储过程与ASPX页面中的调用方法 #### 一、分页存储过程概述 在数据库操作中,分页是非常常见且重要的功能之一。尤其在处理大量数据时,分页能够显著提高用户体验并减少服务器负载。本文介绍了一个...

    从项目中剥离出来的通用存储过程分页源代码

    原项目中使用Oracle存储过程进行分页,前端借助AspNetPager控件进行分页控制,使用简单方便,并可容易地实现绑定控件(如GridView)的自动编号列功能。现将数据库改用SqlServer2000,经测试,能很好地实现分页功能,...

    C#版Oracle数据库通用操作类

    ### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...

    应用于所有的网页开发数据库分页存储过程

    在网页开发中,数据库分页是...总结来说,这个压缩包文件提供了一个通用的数据库分页存储过程示例,适用于各种网页开发项目。通过ASP调用存储过程,可以轻松实现高效且灵活的分页功能,提升用户界面的性能和响应速度。

    java web项目分页通用实现

    总结,Java Web项目中的分页通用实现涉及到数据库查询、参数传递、前后端交互等多个环节。通过封装分页组件,我们可以将这些复杂逻辑模块化,便于在不同的项目中复用,从而提升开发质量和效率。这个DEMO正是为了帮助...

    存储过程之jQuery分页源码

    - "Portal"、"DataBase"、"Common"、"DBUtility":这些可能是项目中的文件夹,分别代表门户模块、数据库相关、通用功能和数据库辅助工具类,DBUtility可能包含了与存储过程相关的操作函数。 结合这些资源,我们可以...

    Mybatis通用分页插件

    4. **性能优化**:通过预编译SQL和使用存储过程等方式,提高分页查询的执行效率,减少不必要的数据传输。 5. **配置简单**:只需要在Mybatis的配置文件中添加相关配置,或者在Spring Boot中通过注解方式进行配置,...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    使用Oracle的分页功能,可以高效地处理大量数据的查询,同时,其强大的数据类型支持附件的存储。 5. **分页搜索**:在Web应用中,分页搜索是提升用户体验的重要手段。通过在后台实现SQL的分页查询,Struts2和Spring...

    通用分页存储过程,源码共享,大家共同完善

    【通用分页存储过程】是数据库管理中一种常见的技术,用于在大量数据中实现高效的分页查询。在大型数据集的展示中,分页能够帮助用户逐步加载和浏览数据,而不是一次性加载所有记录,从而提高用户体验和系统性能。...

Global site tag (gtag.js) - Google Analytics