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数据库的查询分页加条件和排序的通用型存储过程,通过将表名以参数的形式传入到存储过程中做到多表通用,也可以是多表关联的sql语句 将其看作一个表也能调用该存储过程,分页只需要传与页数,和每页显示的行数...
以下是一个简单的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, ...
5. **通用存储过程**: 要实现Oracle和MSSQL的通用分页存储过程,可以使用动态SQL。首先,根据数据库类型选择合适的分页语句,然后将分页参数(如页号、每页记录数)传入存储过程。这需要对两种数据库的语法有一定...
为了优化,可以考虑使用Oracle的ROW_NUMBER()函数配合窗口函数,但这需要在查询中进行调整,可能不再适合作为通用存储过程。 总结来说,Oracle存储过程实现分页查询的关键在于动态构造SQL语句,结合ROWNUM或ROW_...
"Oracle分页存储过程"就是将分页查询的逻辑封装到一个存储过程中,使得在多个地方调用分页查询时更为便捷。 创建一个简单的分页存储过程,我们可以定义两个输入参数:一个是起始记录的索引(通常为1),另一个是每...
这篇博客“Oracle存储过程通用分页”将深入探讨如何利用Oracle存储过程来实现高效、灵活的分页功能。 首先,理解分页的基本概念至关重要。分页是将大型数据集分成若干小块,每次只加载一部分数据到内存中,这样可以...
Oracle数据库中实现分页查询主要有两种方法:ROWNUM和ROW_NUMBER()函数,这里我们主要讨论通过存储过程实现的通用分页方法。 一、ROWNUM方法 ROWNUM是Oracle数据库中的一个伪列,它会为每一行分配一个唯一的整数,...
本文将详细解析"经典的分页、排序SQL 通用存储过程"所涉及的知识点,并给出如何实现这样的存储过程。 首先,分页是数据库查询中的一种优化策略,用于限制每次查询返回的结果数量,从而避免一次性加载大量数据导致的...
本主题将深入探讨如何在ASP.NET中利用通用存储过程实现分页。 首先,理解存储过程的概念是至关重要的。存储过程是在数据库中预编译的SQL语句集合,它能够执行特定的任务,如查询、插入、更新或删除数据。在分页场景...
"通用的分页存储过程"是指设计一个能够适用于多种场景的存储过程,用于查询数据时实现分页显示。在大数据量的表中,分页查询是必要的,以避免一次性加载过多数据导致性能下降和用户体验不佳。 分页查询通常涉及到两...
### 通用分页存储过程与ASPX页面中的调用方法 #### 一、分页存储过程概述 在数据库操作中,分页是非常常见且重要的功能之一。尤其在处理大量数据时,分页能够显著提高用户体验并减少服务器负载。本文介绍了一个...
原项目中使用Oracle存储过程进行分页,前端借助AspNetPager控件进行分页控制,使用简单方便,并可容易地实现绑定控件(如GridView)的自动编号列功能。现将数据库改用SqlServer2000,经测试,能很好地实现分页功能,...
### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...
在网页开发中,数据库分页是...总结来说,这个压缩包文件提供了一个通用的数据库分页存储过程示例,适用于各种网页开发项目。通过ASP调用存储过程,可以轻松实现高效且灵活的分页功能,提升用户界面的性能和响应速度。
总结,Java Web项目中的分页通用实现涉及到数据库查询、参数传递、前后端交互等多个环节。通过封装分页组件,我们可以将这些复杂逻辑模块化,便于在不同的项目中复用,从而提升开发质量和效率。这个DEMO正是为了帮助...
- "Portal"、"DataBase"、"Common"、"DBUtility":这些可能是项目中的文件夹,分别代表门户模块、数据库相关、通用功能和数据库辅助工具类,DBUtility可能包含了与存储过程相关的操作函数。 结合这些资源,我们可以...
4. **性能优化**:通过预编译SQL和使用存储过程等方式,提高分页查询的执行效率,减少不必要的数据传输。 5. **配置简单**:只需要在Mybatis的配置文件中添加相关配置,或者在Spring Boot中通过注解方式进行配置,...
使用Oracle的分页功能,可以高效地处理大量数据的查询,同时,其强大的数据类型支持附件的存储。 5. **分页搜索**:在Web应用中,分页搜索是提升用户体验的重要手段。通过在后台实现SQL的分页查询,Struts2和Spring...
【通用分页存储过程】是数据库管理中一种常见的技术,用于在大量数据中实现高效的分页查询。在大型数据集的展示中,分页能够帮助用户逐步加载和浏览数据,而不是一次性加载所有记录,从而提高用户体验和系统性能。...