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

听韩老师的oracle的分页存储过程

 
阅读更多

听韩老师的oracle的分页存储过程

--创建一个包,在该包中,我定义类型test_cursor,是个游标
create or replace package testpackage as
type test_cursor is ref cursor;
end testpackage;
--开始编写分页过程
create or replace produrce fenye    --fenye
(tableName in varchar2,
 pageSize in number,
 pageNow in number,
 myRows out number,--总记录数
 myPageCount out number,--总页数
 p_cursor out tespackage.test_cursor,--返回的记录集
) is 

--定义部分
--定义sql语句 字符串
 v_sql varchar2(1000);
--定义两个整数
 v_begin number:=(pageNow-1)*pageSize+1;
 v_end number:=pageNow*pageSize;

begin
--执行部分
 v_sql:='select * from 

                      ( select t1.*,rownum rn from	
					
			      ( select * from '||tableName||') t1     --第一个select语句出来的表的视图t1

			where rownum<='||v_end||'

		      ) 

	wherw rn>='||v_begin';

--把游标和sql关联
 open p_cursor for v_sql;
--计算myRows和myPageCount
--组织一个sql语句
 v_sql:='select count(*) from '||tableName';
--执行sql语句,并把返回的值赋给myRows
 execute immediate v_sql into myRows;
 if mod(myRows,pageSize)=0 then
     myPageCount:=myRows/pageSize;
 else 
      myPageCount:=myRows/pageSize+1;
 end if;
--关闭游标
 close p_cursor;
end;


分享到:
评论

相关推荐

    Oracle从入门到高级应用的全部课程文档

    这是我学习Oracle时,老师给的讲义,包含了Oracle从入门到高级应用的...Day08-Oracle分页查询和视图.pdf Day09-存储过程.pdf Day10-变量定义和循环控制.pdf Day11-plsql游标和函数.pdf Day12-触发器.pdf Day13-索引.pdf

    韩顺平oracle课堂笔记

    存储过程是Oracle数据库中预编译的SQL语句集合,可以视为可重复使用的功能模块。通过创建存储过程,我们可以提高代码复用性,减少网络通信,提升系统性能。存储过程可以包含输入、输出参数,甚至可以有返回值。在...

    oracle之SQL优化

    Oracle数据库是全球广泛...Oracle SQL优化是一个复杂而细致的过程,需要结合实际业务场景,综合运用多种技术和策略。通过对SQL的深入理解和优化,我们可以显著提升Oracle数据库的运行效率,确保系统的稳定性和高性能。

    asp.net datalist 数据库绑定与分页

    ASP.NET中的DataList控件是Web Forms中一种...同时,还可以根据实际项目需求,进一步优化性能,如缓存查询结果,或使用存储过程来提高分页效率。记住,实践是最好的老师,多尝试不同的方法,以找到最适合你的解决方案。

    oracle实用教程-韩顺平

    ### Oracle实用教程知识点详解 #### 一、Oracle认证与...以上内容覆盖了韩顺平老师的Oracle教程中的关键知识点,从安装配置到日常维护,从基础命令到高级功能,旨在帮助读者全面了解Oracle数据库管理系统的各个方面。

    韩顺平 oracle ppt

    - **安装过程**:Oracle 10g 的安装过程相对复杂,需要按照官方文档的指导进行。 - **默认用户**: - **SYS 用户**:拥有最高权限,具有 `SYSDBA` 角色,可以创建数据库,初始密码为 `change_on_install`。 - **...

    交互式Web开发技术PHP与Oracle数据库访问.pdf

    PHP是开发动态Web应用的主流技术之一,交互式Web应用的关键是如何访问数据库,对PHP构建交互式Web和访问Oracle进行了论进,举例说明了Oracle查询结果的分页技术。 1. PHP的功能特点 PHP是一种面向Internet/...

    MVC三层架构源代码

    总的来说,柳老师的MVC源代码示例是一个完整的Web应用架构,涵盖了从数据库交互到用户界面展示的全过程。通过学习和分析这个源代码,开发者可以深入理解MVC模式的工作原理,提高自己的Web开发技能。

    SQL课件(外加一些实例)

    1. 数据库概念:理解数据库是存储和组织数据的系统,如MySQL、Oracle、SQL Server等。了解关系型数据库模型,其中数据以表格形式存储,表与表之间可能存在关联。 2. SQL语法:学习SQL的基本语句,包括SELECT(查询...

    java用户登录界面并连接数据库(教师工资查询)

    4. **数据库连接**:使用JDBC(Java Database Connectivity)API连接数据库,如MySQL或Oracle。需要加载数据库驱动,建立连接,创建Statement或PreparedStatement对象,执行SQL查询,最后关闭连接。 5. **SQL查询**...

    jsp网上书店系统(源代码+设计说明书).zip

    网上书店系统通常会使用关系型数据库如MySQL或Oracle来存储书籍信息、用户信息、订单数据等。数据库设计包括数据表的创建,如书籍表(包含书名、作者、出版社、价格等信息)、用户表(用户名、密码、联系方式等)、...

    精髓Oralcle讲课笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; --那么这个用户名就能使用了。 --(默认全局数据库名orcl) 1、...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题28.mysql和oracle的分页语句(着重说思路).mp4 │ Java面试题29.触发器的使用场景.mp4 │ Java面试题30.存储过程的优点.mp4 │ Java面试题31.jdbc调用存储过程.mp4 │ Java面试题32.简单说一下你对...

    留言板 web开发留言板 java留言板

    3. 数据库操作:Java通过JDBC(Java Database Connectivity)接口与数据库进行交互,通常会使用MySQL、Oracle或PostgreSQL等关系型数据库存储留言数据。ORM框架如Hibernate或MyBatis可进一步简化数据库操作。 三、...

    最新Java面试宝典pdf版

    3、存储过程与触发器必须讲,经常被面试到? 92 4、数据库三范式是什么? 94 5、说出一些数据库优化方面的经验? 95 6、union和union all有什么不同? 96 7.分页语句 97 8.用一条SQL语句 查询出每门课都大于80分的学生...

    JAVA面试宝典2010

    3、存储过程与触发器必须讲,经常被面试到? 92 4、数据库三范式是什么? 94 5、说出一些数据库优化方面的经验? 95 6、union和union all有什么不同? 96 7.分页语句 97 8.用一条SQL语句 查询出每门课都大于80分的学生...

Global site tag (gtag.js) - Google Analytics