编写分页过程
要求:编写一个存储过程,要求可以输入表名、每页显示记录数、当前页。返回总记录数、总页数和返回的结果集。
需要注意:
pl/sql中没有取余符号%,只有通过取余函数mod(a,b)来取a取余b
--将每个数据都进行编号
select t1.*,rownum rn from (select * from emp) t1;
--按条件的将符合编号条件的数据输出
select t1.*,rownum rn from (select * from emp) t1 where rownum<=10;
--将一个范围的数据都输出来
select * from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=10) where rn>=6;
//如果关闭游标,则在java中就无法查到数据
pl/sql代码
--创建一个包
create or replace package mapackage as
type ma_cursor is ref cursor;
end mapackage;
--开始编写分页的过程
create or replace procedure sun_fenye
(tableName in varchar2,
pageSizeNum in number,
pageNow in number,
myrows out number,--总记录数
myPageCount out number,--总页数
m_cursor out mapackage.ma_cursor)--返回的结果集
is
--定义部分(如果有就定义,如果没有就直接进入begin部分)
--定义sql语句 字符串
v_sql varchar2(1000);
--定义两个整数
v_begin number:=(pageNow-1)*pageSizeNum+1;
v_end number:=pageNow*pageSizeNum;
begin
--执行部分
v_sql:='select * from (select t1.*,rownum rn from (select * from '||tableName||') t1
where rownum<='||v_end||') where rn>='||v_begin;
--把游标和sql关联
open m_cursor for v_sql;
--计算myrows和myPageCount
--组织了一个sql
v_sql:='select count(*) from '||tableName;
--执行sql语句,并把返回的值赋给myrows
execute immediate v_sql into myrows;
--计算myPageCount
if mod(myrows,pageSizeNum)=0
then myPageCount:=myrows/pageSizeNum;
else
myPageCount:=myrows/pageSizeNum+1;
end if;
--关闭游标
close m_cursor;
end;
--新的需要:要求按照薪水从低到高排序,然后取出6——10
只需要在排序那改变即可
v_sql:='select * from (select t1.*,rownum rn from (select * from '||tableName||' order by sal) t1
where rownum<='||v_end||') where rn>='||v_begin;
- 浏览: 219841 次
- 性别:
- 来自: 江西
最新评论
-
闷骚的小老头:
这个和eclipse右什么区别么,都会啊这个
如何在Android Studio中创建一个selector.xml文件 -
闷骚的小老头:
导入Model就ok
如何在Android Studio中导SlidingMenu框架到项目中 -
gaojingsong:
七天玩转oracle,韩顺平玩转oracle,有些东西过时了, ...
oracle表的数据类型
相关推荐
以下是一些Oracle基础视频学习中可能涵盖的重要知识点: 1. **Oracle简介**:了解Oracle数据库的历史、发展及其在IT行业中的地位,学习Oracle的主要产品线,如Oracle Database、Oracle Application Server等。 2. ...
- 重做日志文件的作用及其在恢复过程中的重要性。 - 如何管理重做日志文件,包括大小、数量、自动扩展等。 - 如何处理重做日志文件满的情况。 ### 6. Oracle PL/SQL 复合类型 PL/SQL是一种用于Oracle数据库的过程...
"Oracle视频教程BT链接"提供了一种便捷的学习途径,让你能够深入理解并掌握Oracle的各项核心功能和技术。 本教程可能涵盖了Oracle数据库的基础知识,包括但不限于: 1. **数据库概念**:介绍数据库的基本原理,如...
13.PLSQL基础-变星与作用域rar 14.Oracle体结构.ram 15.Oracle体系结构实例管理-内存管理rar 16.0raCle体系结构实例管理进程结构。rar 17.Oracle存储管理rar 18.Oracle网路管理rar 19,oracle字符集rar 20 Oracle-...
从给定的文件信息来看,这是一系列关于Oracle 9i DBA Fundamentals I的教程视频,由小布老师提供。这些视频被分成了多个部分,每个部分包含了一个rar压缩包,通过ed2k链接进行下载。下面,我们将对Oracle 9i DBA ...
【标题】:“韩顺平oracle视频笔记四(事务)”主要涵盖了Oracle数据库系统中的事务管理这一核心主题。在Oracle数据库中,事务是数据库操作的基本单位,它确保了数据的一致性和完整性。本视频笔记可能详细讲解了事务...
根据提供的标题、描述和部分内容,我们可以总结出与Oracle视频教程相关的多个知识点。这些知识点涵盖了Oracle数据库的基础知识、视频教程的价值以及获取方式等。 ### Oracle基础知识 #### 1. Oracle数据库介绍 - *...
该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后实现 Oracle 数据库的异机恢复。 一、环境准备 在开始备份恢复 Oracle 数据库之前,需要在 Oracle 源机和 Oracle ...
6. **配置监听器**:Oracle数据库服务需要监听器(Listener)来处理客户端连接,安装过程中需配置监听器参数。 7. **创建数据库实例**:安装过程中会创建一个默认数据库实例,可以根据需求设置数据库的字符集、表...
韩顺平作为IT培训讲师,其Oracle视频教学内容被整理成笔记,旨在帮助初学者快速入门Oracle数据库。以下是从提供的文件内容中提炼出的知识点: 1. Oracle基本使用:文档提到基本命令的使用,这些是进行数据库操作的...
9. Oracle Cloud:如果视频教程包含这部分,你将学习如何在云端部署和管理Oracle数据库,利用Oracle Cloud服务的优势。 通过"尚观云oracle.txt"这个文件,你可能会获得详细的笔记、代码示例或者课程大纲,帮助你在...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。本教学视频由专业教育机构的老师精心讲解,旨在帮助学习者深入理解和掌握Oracle数据库的核心概念和技术。 在“Unit01:...
根据提供的信息,我们可以了解到这是一套关于Oracle E-Business Suite(EBS)中PO模块的视频教程,总共有19个部分。以下是对这些部分所涉及的知识点进行详细阐述: ### 第一部分:职位层级结构(第19讲) **知识点...
(3)能够清晰的说出自来水收费系统中的表的作用和关系 (4)能够使用命令完成表空间的创建、用户的创建和赋权 (5)能够熟练的使用ddl语句完成Oracle表结构的设计 (6)能够熟练使用DML语句完成表数据的新增、...
在“动力节点_王勇”的Java项目视频中,可能涵盖了如何使用Java的JDBC(Java Database Connectivity)接口连接Oracle10G,进行CRUD操作,以及事务处理、连接池管理等相关知识。 总之,Oracle10G培训日志涵盖了...
1. **Oracle简介**:介绍Oracle的历史、版本发展以及其在企业级数据管理中的重要地位。解释Oracle数据库的特点,如高可用性、高性能、安全性等。 2. **SQL基础**:SQL(结构化查询语言)是与数据库交互的语言,包括...
在Oracle数据库中,Blob是一种用来存储二进制数据的数据类型,比如图像、音频或视频文件等。本篇文章将详细介绍如何通过SQL查询语句获取存储在Blob字段中的JPEG格式照片的像素大小。 ### 1. 了解Blob数据类型 在...
- **视频课程**:平台如YouTube、B站上有许多讲解如何将Excel数据导入Oracle的视频教程。 - **书籍**:如《Oracle SQL Developer Data Modeler》等书籍,可以帮助深入理解使用SQL Developer进行数据管理的方法。 ...