`

Oracle Pack用法详解

阅读更多
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 #### 标题与描述中的知识点详解 **Oracle_VM_VirtualBox_Extension_Pack-5.0.12-104815.vbox-extpack** 这个文件名包含了丰富的信息,从中...

    Oracle9i的安装全过程

    【Oracle9i安装全过程详解】 Oracle9i是一款广泛使用的数据库管理系统,其安装过程涉及多个步骤,需要对系统配置和操作有深入理解。本篇将详细阐述Oracle9i的安装过程,包括安装前的准备、安装需求、注意事项以及...

    oracle转SQL Server方法收集

    ### Oracle转SQL Server方法详解:运用SSMA工具实现高效迁移 #### 一、引言 随着企业业务的发展和技术栈的变化,数据库迁移成为了一个常见的需求。本文将详细介绍如何使用Microsoft SQL Server Migration ...

    oracle statspack

    ### Oracle Statspack详解 #### 一、Statspack简介 Statspack是Oracle自8.1.6版本开始提供的一款性能诊断工具,在8.1.7版本得到了进一步增强。尽管该工具随Oracle 8.1.6一同发布,但通过特定脚本可以使其在运行...

    oracle程序包

    ### Oracle程序包详解 #### 一、程序包概念与作用 在Oracle数据库中,程序包是一种组织PL/SQL代码的有效方式。它通过将相关的数据类型、常量、变量、游标、异常、函数和过程封装在一起,使得这些元素可以在多个...

    在Windows Server 2003平台上安装Oracle11.1.0

    - **Windows Server 2003 Enterprise Edition SP1**:这是安装Oracle 11g的基础平台,确保服务器已更新至Service Pack 1以兼容Oracle数据库。 #### 内存要求 - **1GB**:虽然1GB的内存是最低要求,但为了更好地性能...

    Oracle9i的安装步骤

    ### Oracle9i的安装步骤详解 #### 一、安装前的准备 在开始Oracle9i数据库的安装前,有几个关键的准备步骤需要遵循,以确保安装过程顺利进行。以下是具体的准备事项: 1. **操作系统与磁盘格式**:Oracle公司推荐...

    TMS Component Pack 7.1.3.0

    4. **数据库组件**:TMS Component Pack的数据库组件与各种数据库系统(如Oracle、MySQL、SQL Server等)兼容,提供了易于使用的接口,简化了数据访问和操作。 5. **用户界面组件**:这些组件包括导航条、工具栏、...

    oracle9i standby

    ### Oracle 9i Standby数据库配置详解 #### 步骤一:系统环境准备 - **操作系统**:确保使用的是兼容的Windows 2000 Professional + Service Pack 4操作系统。 - **Oracle版本**:安装Oracle 9.2.0.1版本数据库。 -...

    oracle 解锁 语句

    ### Oracle解锁语句详解 #### 一、Oracle解锁语句概述 在Oracle数据库管理中,锁定与解锁是常见的操作之一,特别是在处理并发控制时尤为重要。当一个会话长时间占用资源导致其他会话无法正常工作时,可能需要进行...

    win7安装oracle10g方法

    ### Win7安装Oracle 10g方法详解 #### 一、前言 随着信息技术的不断发展,数据库管理系统在各个行业中扮演着越来越重要的角色。Oracle数据库作为全球最流行的数据库系统之一,其稳定性和安全性得到了广泛的认可。...

    Oracle9i的安装步骤(有图解)

    ### Oracle9i的安装步骤详解 #### 2.1 安装前的准备 ##### 2.1.1 安装需求 Oracle公司推荐在**Windows NT和Windows 2000**环境下安装Oracle数据库,并建议磁盘分区采用**NTFS格式**。尽管如此,对于其他操作系统...

    Eclipse Oracle Weblogic插件安装

    ### Eclipse Oracle Weblogic插件安装方法详解 #### 一、引言 在开发基于Oracle WebLogic Server的应用程序时,为了提高开发效率与便捷性,通常会借助Eclipse集成开发环境中的Oracle Enterprise Pack for Eclipse...

    oracle 10g安装在64位 window7

    - 通过兼容模式运行 `setup.exe`:右键点击安装程序,选择“以兼容模式运行”并选择“Windows XP (Service Pack 3)”。 - 以管理员身份运行安装程序:右键点击 `setup.exe`,选择“以管理员身份运行”。 - 按照...

    OraCle 10G教程

    提供的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 5.8.0.1详解** TMS Pack是一款专为Delphi开发者设计的优秀第三方组件集,其版本号5.8.0.1表明这是一次重要的更新,提供了对从Delphi 6到XE版本的广泛支持。这款组件库包含了大量实用的控件和工具,旨在...

Global site tag (gtag.js) - Google Analytics