Oracle Package有哪些作用呢?
简化应用设计、提高应用性能、实现信息隐藏、子程序重载。
下面是Package部分代码。
create or replace Package FirstPage is
-- Author : MECON
-- Created : 2006-7-20 上午 09:34:44
-- Purpose : 用来处理首页各个模块的显示情况
-- Public type declarations
type outlist is REF CURSOR;
--高中
Procedure getSeniorHighSchool(
maxrow in number,
minrow in number,
return_list out outlist
);
//可以定义其他
end FirstPage;
以上是Packages的定义。
下面是Package body的定义了
create or replace Package body FirstPage is
--高中
Procedure getSeniorHighSchool(
maxrow in number,
minrow in number,
return_list out outlist
)as
begin
open return_list
for
select * from (select a.*,rownum rnum from (
//业务语句
) a where rownum<=maxrow) where rnum >=minrow;
end;
//抒写其他过程
end FirstPage;
Oracle Package的基本就这写了。其余的看业务的需求了。
下面是jdbc代码的调用。
当然如果采用jdbc直接获得Connection下面的代码是没问题的。
Oracle.jdbc.OracleCallableStatement cs = null;
String sqlStr = "{call firstpage.getSeniorHighSchool(?,?,?)}";
ResultSet rs = null;
try{
cs = (Oracle.jdbc.OracleCallableStatement)conn.prepareCall(sqlStr);
cs.setLong(1,arg[0]);
cs.setLong(2,arg[1]);
cs.registerOutParameter(3,Oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
rs = cs.getCursor(3);
while(rs.next()){
//...........
}
rs.close();
cs.close();
}catch(Exception e){
System.out.println("produce error ");
e.printStackTrace();
}
但是,如果采用连接池(比如:采用Weblogic或jboss等web服务器自带的连接池) 哈哈,这段代码就会让你头疼了。不信你试试。抛出CastClassException哈哈。
下面是另一种写法,保你没事。这种写法风水好。哈哈
CallableStatement cs = null;
cs = conn.prepareCall(sql);
cs.setInt(1,maxrow);
cs.setInt(2,minrow);
cs.registerOutParameter(3,Oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
rs = (ResultSet)cs.getObject(3);
差别很简单。
可以看看weblogic和jboss实现连接池的代码就知道了。
一路ok了。
分享到:
相关推荐
### Oracle_VM_VirtualBox_Extension_Pack-5.0.12-104815.vbox-extpack #### 标题与描述中的知识点详解 **Oracle_VM_VirtualBox_Extension_Pack-5.0.12-104815.vbox-extpack** 这个文件名包含了丰富的信息,从中...
【Oracle9i安装全过程详解】 Oracle9i是一款广泛使用的数据库管理系统,其安装过程涉及多个步骤,需要对系统配置和操作有深入理解。本篇将详细阐述Oracle9i的安装过程,包括安装前的准备、安装需求、注意事项以及...
### Oracle转SQL Server方法详解:运用SSMA工具实现高效迁移 #### 一、引言 随着企业业务的发展和技术栈的变化,数据库迁移成为了一个常见的需求。本文将详细介绍如何使用Microsoft SQL Server Migration ...
### Oracle Statspack详解 #### 一、Statspack简介 Statspack是Oracle自8.1.6版本开始提供的一款性能诊断工具,在8.1.7版本得到了进一步增强。尽管该工具随Oracle 8.1.6一同发布,但通过特定脚本可以使其在运行...
### Oracle程序包详解 #### 一、程序包概念与作用 在Oracle数据库中,程序包是一种组织PL/SQL代码的有效方式。它通过将相关的数据类型、常量、变量、游标、异常、函数和过程封装在一起,使得这些元素可以在多个...
- **Windows Server 2003 Enterprise Edition SP1**:这是安装Oracle 11g的基础平台,确保服务器已更新至Service Pack 1以兼容Oracle数据库。 #### 内存要求 - **1GB**:虽然1GB的内存是最低要求,但为了更好地性能...
### Oracle9i的安装步骤详解 #### 一、安装前的准备 在开始Oracle9i数据库的安装前,有几个关键的准备步骤需要遵循,以确保安装过程顺利进行。以下是具体的准备事项: 1. **操作系统与磁盘格式**:Oracle公司推荐...
4. **数据库组件**:TMS Component Pack的数据库组件与各种数据库系统(如Oracle、MySQL、SQL Server等)兼容,提供了易于使用的接口,简化了数据访问和操作。 5. **用户界面组件**:这些组件包括导航条、工具栏、...
### Oracle 9i Standby数据库配置详解 #### 步骤一:系统环境准备 - **操作系统**:确保使用的是兼容的Windows 2000 Professional + Service Pack 4操作系统。 - **Oracle版本**:安装Oracle 9.2.0.1版本数据库。 -...
### Oracle解锁语句详解 #### 一、Oracle解锁语句概述 在Oracle数据库管理中,锁定与解锁是常见的操作之一,特别是在处理并发控制时尤为重要。当一个会话长时间占用资源导致其他会话无法正常工作时,可能需要进行...
### Win7安装Oracle 10g方法详解 #### 一、前言 随着信息技术的不断发展,数据库管理系统在各个行业中扮演着越来越重要的角色。Oracle数据库作为全球最流行的数据库系统之一,其稳定性和安全性得到了广泛的认可。...
### Oracle9i的安装步骤详解 #### 2.1 安装前的准备 ##### 2.1.1 安装需求 Oracle公司推荐在**Windows NT和Windows 2000**环境下安装Oracle数据库,并建议磁盘分区采用**NTFS格式**。尽管如此,对于其他操作系统...
### Eclipse Oracle Weblogic插件安装方法详解 #### 一、引言 在开发基于Oracle WebLogic Server的应用程序时,为了提高开发效率与便捷性,通常会借助Eclipse集成开发环境中的Oracle Enterprise Pack for Eclipse...
- 通过兼容模式运行 `setup.exe`:右键点击安装程序,选择“以兼容模式运行”并选择“Windows XP (Service Pack 3)”。 - 以管理员身份运行安装程序:右键点击 `setup.exe`,选择“以管理员身份运行”。 - 按照...
提供的PDF文件可能分别涵盖了不同的主题,例如Les01_RW.pdf可能是关于数据库基础,Les09_RW.pdf可能涉及RAC详解,Les10_RW.pdf可能专门讨论Oracle 10G的新特性,而Les05_RW.pdf等文件则可能涵盖SQL优化和性能调优等...
**TMS Pack 5.8.0.1详解** TMS Pack是一款专为Delphi开发者设计的优秀第三方组件集,其版本号5.8.0.1表明这是一次重要的更新,提供了对从Delphi 6到XE版本的广泛支持。这款组件库包含了大量实用的控件和工具,旨在...