`
xidajiancun
  • 浏览: 492197 次
文章分类
社区版块
存档分类
最新评论

PLSQL实现分页

阅读更多

分页是任何一个网站(bbs,网上商城,blog)都会使用到的技术,因此学习pl/sql编程开发就一定要掌握该技术。如下图:

1. 编写无返回值的存储过程

首先是掌握最简单的存储过程,无返回值的存储过程。

案例:现有一张表book,表结构如下:

请写一个过程,可以向book表添加书,要求通过java程序调用该过程。
--in:表示这是一个输入参数,默认为in
--out:表示一个输出参数
存储过程代码如下:

在java中调用中调用该过程代码如下:

执行,记录被加进去了。

2. 有返回值的存储过程(非列表)
案例:编写一个过程,可以输入雇员的编号,返回该雇员的姓名。
案例扩张:编写一个过程,可以输入雇员的编号,返回该雇员的姓名、工资和岗位。

存储过程代码如下:

java调用过程代码如下:


运行,成功得出结果。

案例扩张:编写一个过程,可以输入雇员的编号,返回该雇员的姓名、工资和岗位。

java调用过程代码如下:

运行,成功找出记录。
3. 有返回值的存储过程(列表[结果集])

案例:编写一个过程,输入部门号,返回该部门所有雇员信息。
对该题分析如下:
由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage了。所以要分两部分:
(1). 建立一个包,在该包中,我定义类型test_cursor,是个游标。代码如下:

(2). 建立存储过程,代码如下:

(3). 在java中调用该过程,代码如下:

运行,成功得出部门号是10的所有用户。

4. 编写分页过程
要求,请大家编写一个存储过程,要求可以输入表名、每页显示记录数、当前页。返回总记录数,总页数,和返回的结果集。
(1). oracle中的分页实现:

(2). 开发一个包

建立一个包,在该包中,我定义类型test_cursor,是个游标。代码如下:

(3). 使用java测试该分页过程,代码如下:

运行,控制台输出:
rowNum=19
总页数:4
编号:7369 名字:SMITH 工资:2850.0
编号:7499 名字:ALLEN 工资:2450.0
编号:7521 名字:WARD 工资:1562.0
编号:7566 名字:JONES 工资:7200.0
编号:7654 名字:MARTIN 工资:1500.0

新的需要,要求按照薪水从低到高排序,然后取出6-10。

代码如下:

重新执行一次procedure,java不用改变,运行,控制台输出:
rowNum=19
总页数:4
编号:7900 名字:JAMES 工资:950.0
编号:7876 名字:ADAMS 工资:1100.0
编号:7521 名字:WARD 工资:1250.0
编号:7654 名字:MARTIN 工资:1250.0
编号:7934 名字:MILLER 工资:1300.0

分享到:
评论

相关推荐

    利用PLSQL实现分页查询代码.rar

    本压缩包"利用PLSQL实现分页查询代码.rar"主要关注的是如何在Oracle环境中通过PL/SQL来执行分页查询,这对于处理大量数据时提升性能和用户体验至关重要。 分页查询是一种在大量数据中只显示一部分(例如,每页10条...

    韩顺平Oracle版的分页查询

    首先,我们需要理解Oracle中实现分页查询的基本概念。在SQL语句中,通常使用`ROWNUM`伪列来实现分页。`ROWNUM`表示每条记录的顺序号,从1开始递增。例如,如果我们想要获取前10条记录,可以这样写: ```sql SELECT ...

    存储过程实现分页

    ### 存储过程实现分页:深入解析与应用 #### 核心概念解析: 存储过程是一种在数据库中预编译的SQL代码集合,它可以接受参数、执行一系列操作,并返回结果。存储过程的主要优势在于提高代码复用性、增强数据安全性...

    java调用PLSQL分页过程.doc

    在PL/SQL中实现分页查询通常涉及两个主要步骤:首先确定总记录数,然后根据当前页码和每页记录数来获取特定页的数据。以下是一个具体的PL/SQL分页过程示例: ```sql CREATE OR REPLACE PROCEDURE fenye ( ...

    北风网项目培训PLSQL编程之BBS实战项目第二讲

    5. 游标:在处理大量数据时,游标允许我们逐行处理结果集,这对BBS中的数据分页展示、按需加载等场景非常有用。 6. 包(Package):PL/SQL中的包可以将相关的变量、常量、过程和函数组织在一起,形成模块化的代码,...

    PLSQL排序 中文版

    PLSQL,全称为Procedural ...总的来说,这个资源包提供了全面的PLSQL排序学习材料,涵盖了基础的`ORDER BY`、分组排序、分页排序以及可能的自定义排序实现,对于想深入理解PLSQL排序机制的学习者来说是一份宝贵的资料。

    sql分页、jsp分页

    jsp分页、PLSQL中用Group by和Having来实现分组统计、SQL_server_海量数据库查询优化及分页算法、SQL_SERVER数据库中实现快速的数据提取和数据分页、SQLServer 2005下的分页SQL、sql分页查询、sql数据库模糊查询分页...

    oracle 数据库 plsql 存储过程

    - **使用ANALYTIC函数**:如`ROW_NUMBER()`等,更灵活地实现分页查询。 通过上述介绍,我们可以看到Oracle存储过程不仅能够提高应用程序的性能和安全性,还能大大简化开发工作。在实际应用中,根据不同的需求选择...

    oracle 高效分页

    在Oracle中,`ROW_NUMBER()`和`ROWNUM`是实现分页查询的两种主要方式。其中,`ROW_NUMBER()`函数是在SQL标准中的窗口函数,它可以为每一行分配一个唯一的行号,而这个行号的顺序可以基于某一列的排序规则。`ROWNUM`...

    plsql 中文操作手册

    设置文件的默认扩展名,如.sql、.plsql等,便于文件类型识别。 ##### 文件-格式: 控制文件的编码、换行符和空白字符,确保跨平台兼容性。 ##### 文件-备份: 启用自动备份功能,防止因意外操作导致的数据丢失。...

    plsql 中文使用说明

    这种方式通常用于大型企业环境中,通过脚本实现快速、一致的安装。 ##### 2.5 卸载 PL/SQL Developer 卸载过程也很简单,可以通过控制面板中的“添加或删除程序”来进行。 #### 三、编写程序 ##### 3.1 创建程序...

    Oracle_PLSQL_存储过程

    实现高效分页的一种常见方法是在存储过程中使用ROWNUM。ROWNUM是Oracle内部自动生成的一个伪列,可以用于对查询结果进行快速排序。 **示例:** ```sql CREATE OR REPLACE PROCEDURE get_paged_data ( p_start_row...

    PLSQL到处用户对象和表

    在Oracle中,可以使用ROWNUM函数或者窗口函数ROW_NUMBER()来实现分页查询。 - **XML导出**:对于一些复杂的数据结构,可能还需要考虑使用XML格式进行导出。例如,在文档中提到的`XXX.XML`,这通常是为了方便后续的...

    oracle的 分页sql语句

    本文详细介绍了在 Oracle 数据库中如何实现分页查询,包括基本的 SQL 语句和存储过程两种方式,并给出了具体的 Java 实现示例。通过这些方法,你可以有效地管理和优化大量数据的展示,提高应用程序的性能和用户体验...

    分页存储过程的实现及调用

    根据给定的信息,本文将详细解释“分页存储过程的实现及调用”这一主题,包括存储过程的设计目的、参数意义、实现逻辑以及如何在实际应用中调用它。 ### 存储过程设计目的 存储过程`JT_P_page`的设计目的是实现...

    学习oracle笔记-PLSQL

    - **编写分页过程**:利用存储过程实现数据分页显示,提高查询效率和用户体验。 - **示例**:创建一个分页存储过程,接收参数如当前页码和每页记录数,返回指定范围内的记录。 #### 例外处理 - **概念**:用于捕获...

    一个Oracle分页的存储过程

    总的来说,Oracle分页的存储过程是解决大数据量查询的一个有效工具,通过封装ROWNUM或ROW_NUMBER()方法,可以灵活地在不同版本的Oracle数据库中实现高效的分页查询。在使用时,应结合具体的业务需求和数据库环境进行...

    plsql developer 7.0教程

    - **结果表格处理**:展示了如何高效地处理查询结果,包括排序、过滤和分页。 - **实例模式查询**:介绍了如何在不指定具体表的情况下执行查询,增强了灵活性。 - **连接查询**:讲解了多种连接类型,如内连接、外...

    北风网项目培训PLSQL编程之BBS实战项目第三讲

    它允许你逐行处理查询结果,这对于实现BBS系统的分页显示、按需读取等功能非常实用。 3. **存储过程和函数**:存储过程是一组预编译的SQL和PL/SQL语句,可以提高性能,减少网络流量,并提供封装和重用代码的机会。...

Global site tag (gtag.js) - Google Analytics