Oracle Package用法详解_oracle中package中produce-程序员宅基地

技术标签: exception  oracle  jboss  weblogic  jdbc  list  

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了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bingyingao/article/details/5894542

智能推荐

asp.net控件开发基础(20)-程序员宅基地

文章浏览阅读34次。示例代码 上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应。这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件。我一直在想,是先讨论数据源控件呢,还是先讨论数据绑定控件,两者是密不可分的。在看下文之前,我想大家应该对asp.net2.0中的数据源控件使用的简易性非常...

【多径衰落仿真】小尺度多径衰落仿真(Jakes模型)【含Matlab源码 3405期】_matlab wsn多径衰落信道建模-程序员宅基地

文章浏览阅读486次,点赞14次,收藏10次。小尺度多径衰落仿真(Jakes模型)完整的代码,方可运行;可提供运行操作视频!适合小白!_matlab wsn多径衰落信道建模

【C++】STL 容器 - string 字符串操作 ⑧ ( string 字符串相关算法 | 字符串转换 - std::transform 函数 | 字符串翻转- std::reverse 函数 )_c++ string反转函数-程序员宅基地

文章浏览阅读480次。一、string 字符串转换 - std::transform 函数1、std::transform 函数原型说明2、代码示例 - string 类 transform 函数转换二、string 字符串翻转 - std::reverse 函数1、std::reverse 函数原型说明2、代码示例 - std::reverse 函数_c++ string反转函数

基于灰狼优化算法优化XGBOOST实现故障数据分类附matlab代码GWO-XGBOOST-程序员宅基地

文章浏览阅读35次。故障数据分类一直是工程领域中一个重要的课题,尤其是在大型设备和系统中。通过对故障数据进行分类,我们可以更好地理解设备的运行状况,及时发现问题,并采取相应的措施进行维修和保养。在过去的研究中,XGBOOST算法在故障数据分类中取得了一定的成果,但是在实际应用中仍然存在一些问题,比如算法的收敛速度和分类准确度等方面还有待提高。近年来,灰狼优化算法作为一种新兴的优化算法,受到了越来越多研究者的关注。该算法模拟了灰狼群体的社会行为,具有较强的全局寻优能力和快速收敛速度,逐渐被应用到了各个领域。

内网渗透--压缩数据_渗透 rar.exe 命令行压缩文件-程序员宅基地

文章浏览阅读635次。内网渗透--压缩数据使用WinRAR 工具进行解压缩1、以RAR 格式压缩/解压2、分卷压缩/解压使用7-Zip 工具进行解压缩1、普通压缩解压方式2、分卷压缩/解压方式在渗透测试中,数据的下载也是重要的一部分,通常我们使用winrar、7-zip 进行压缩数据而后进行下载。使用WinRAR 工具进行解压缩 目标机器上安装了 WinRAR,可以直接使用;如果没有安装,可以在本地下载并安装,然后把 WinRAR安装目录里的 rar.exe文件提取出来,上传到目标机器中(安装 WinRAR的_渗透 rar.exe 命令行压缩文件

高性能软件负载OpenResty介绍和安装_openresty安装-程序员宅基地

文章浏览阅读1.2k次。目录1 OpenResty介绍1.1 Nginx 的流程定义1.1.1 流程详解1.1.2 OpenResty处理流程2 Openresty安装2.1 yum安装2.1.1 添加OpenResty仓库2.1.2 安装OpenResty2.2 源代码编译安装2.2.1 安装编译环境2.2.2下载最新版源码2.2.3下载缓存插件2.2.4 编译OpenResty2.2.5 安装OpenResty2.2.6 环境设置2.2.7 查看环境2.8 环境配置2.8.1 配置文件修改_openresty安装

随便推点

ubuntu下conda如何设置镜像源(清华镜像源)_ubuntu conda 设置镜像-程序员宅基地

文章浏览阅读2.4k次,点赞10次,收藏19次。首先贴出.condarc,直接给出清华的镜像源,需要的小伙伴直接使用,别看内容了添加conda镜像源命令(直接使用)接下来开始慢慢介绍了。_ubuntu conda 设置镜像

LSB隐写的信息导出_png图片lsb-程序员宅基地

文章浏览阅读363次。如果图像是 jpg 图片的话,就没法使用lsb隐写了,原因是 jpg 图片对像数进行了有损压缩,我们修改的信息就可能会在压缩的过程中被破坏。png 图片中的图像像数一般是由 RGB 三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为 0x00~0xFF,即有 256 种颜色,一共包含了 256 的3次方的颜色,即 16777216 种颜色。LSB 隐写就是修改 RGB 颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。_png图片lsb

宠物领养系统(源码+开题)-程序员宅基地

文章浏览阅读813次,点赞17次,收藏22次。本系统(程序源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景: 随着人们生活水平的提高,越来越多的人选择养宠物来陪伴自己。然而,由于一些不负责任的宠物主人或者无法承担养宠物的责任,导致大量的流浪动物出现。为了解决这一问题,许多组织和机构开始提供宠物领养服务。然而,传统的宠物领养管理方式存在着诸多问题,如信息不透明、效率低下等,无法满足现代宠物领养服务的需求。因此,建立一个高效、智能的宠物领养管理系统势在必行。

snmp服务配置功能_snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.3.0-程序员宅基地

文章浏览阅读1.6k次。本来是默认配置就可以的 但是有时候会出现这个错误 error on SnmpMgrRequest 40解决方法:1,进入本机的服务,然后找到snmp双击进行配置2,陷阱里添加团体名称public 添加到列表 。下面添加陷阱目标:127.0.0.13,安全里添加 团体名称:public 勾上“发送身份验证陷阱”。4,最后点确定 。重新输入命令:snmputil get 1_snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.3.0什么意思

XP SN-程序员宅基地

文章浏览阅读1.1k次。CYKG6-VVD9B-9TQ8Q-68JXJ-4VMQ8TBR2X-BPTYD-FGXHR-7G8T4-7PKVMDJGDQ-3MGQF-6QMBC-FCBFD-V967BM8WQD-DFWVD-WHTFD-PXY7B-M27V8MT8KK-JRRP9-P2J28-3KPDG-T6HRWJBQKD-FYJFQ-3VGKW-VYR2K-RYBGBR9BHR-6BWTM-W7..._sn.xpxx

tp6连接oracle数据库save和insert语句执行成功但是报ORA-00936: 缺失表达式错误_oracle insert 缺失表达式-程序员宅基地

文章浏览阅读2.7k次。错误现象:使用thinkphp6连接oracle数据库时使用save方法永远跳转到update使用insert方法执行语句成功,但是总是报ORA-00936错误错误截图:SQLSTATE[HY000]: General error: 936 OCIStmtExecute: ORA-00936: 缺失表达式(ext\pdo_oci\oci_statement.c:157) /** * 获取最近插入的ID * @access public * @param..._oracle insert 缺失表达式

推荐文章

热门文章

相关标签