`
cuixuelei
  • 浏览: 51141 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java调研oracle存储过程返回记录集

阅读更多

PACKAGE

sql 代码

  1. CREATE OR REPLACE PACKAGE PKG_UIREPORT_DEPTTRANSTABLE  AS  
  2.   
  3.  TYPE MY_CURSOR IS REF CURSOR;   
  4.   
  5. end PKG_UIREPORT_DEPTTRANSTABLE;  

    PROCEDURE

    sql 代码

 

  1. CREATE OR REPLACE PROCEDURE GETDEPTTRANSTABLE(      
  2.        o_CURSOR out PKG_UIREPORT_DEPTTRANSTABLE.MY_CURSOR,      
  3.        i_POST_DATE IN VARCHAR2,  --传入参数1     
  4.        i_SEC_TYPE IN VARCHAR2      --传入参数2     
  5.        ) IS      
  6.      
  7. BEGIN      
  8.     OPEN o_CURSOR FOR select * from sec_vou T1 WHERE T1.CLEAR_DATE = i_POST_DATE AND T1.SEC_CODE IN (select T2.SEC_CODE from ea_pub.sys_sec_info T2 WHERE T2.SEC_TYPE = i_SEC_TYPE);      
  9.      
  10. END GETDEPTTRANSTABLE;    

JAVA代码调用存储过程并得到记录集

java 代码
  1. .....   
  2. //要引入的包   
  3. import java.sql.CallableStatement;   
  4. import java.sql.Connection;   
  5. import java.sql.PreparedStatement;   
  6. import java.sql.ResultSet;   
  7. import oracle.jdbc.OracleTypes;   
  8. ......   
  9. .......   
  10.         Connection conn = null;   
  11.         CallableStatement cstmt = null;   
  12.         ResultSet rs = null;   
  13.         ComOutput comOutput = null;   
  14.         String postDate = "20070118";   
  15.         String secType = "01";
  16.         try {   
  17.             conn = EJBUtil.getConnection();   
  18.             /**  
  19.              * 调用存储过程  
  20.              */  
  21.             cstmt = conn.prepareCall("{ call GETDEPTTRANSTABLE(?,?,?) }");   
  22.             cstmt.registerOutParameter(1,OracleTypes.CURSOR);   
  23.             cstmt.setString(2,postDate);   
  24.             cstmt.setString(3,secType);   
  25.             cstmt.execute();   
  26.             rs = (ResultSet)cstmt.getObject(1);   
  27.             while(rs.next) {
  28.               ...........
  29.             }
  30.         } catch(Exception e) {   
  31.             e.printStackTrace();   
  32.         } finally {   
  33.             CommUtil.closeResultSet(rs);   
  34.             cstmt.close();   
  35.             CommUtil.closeConnection(conn);   
  36.         }  
分享到:
评论

相关推荐

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中,需要创建两个Type类型:`myScalarType`和`myTableType...

    Oracle存储过程返回结果集

    本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...

    Delphi中调用oracle的存储过程返回数据集

    Delphi 中调用 Oracle 的存储过程返回数据集 Delphi 中调用 Oracle 的存储过程返回数据集是指在 Delphi 应用程序中调用 Oracle 数据库中的存储过程,并将存储过程的返回结果集显示在 Delphi 应用程序中。这种方式...

    C#中调用oracle存储过程返回数据集

    在C#中调用Oracle存储过程来返回数据集是一个常见的任务,这涉及到ADO.NET库的使用,特别是OracleClient组件。Oracle存储过程是数据库中的预编译SQL代码块,可以接收输入参数,执行复杂的业务逻辑,并返回结果。在C#...

    oracle的存储过程如何返回结果集

    ### Oracle存储过程返回结果集详解 #### 一、概述 在Oracle数据库中,存储过程是一种重要的编程组件,它能够执行一系列SQL语句并处理复杂的业务逻辑。存储过程的一个常见应用场景是返回结果集(Record Set),这有...

    使用OLE-DB和ADO调用返回记录集的Oracle存储过程.docx

    "使用OLE-DB和ADO调用返回记录集的Oracle存储过程" 摘要:本文介绍了如何使用OLE DB和ADO调用返回记录集的Oracle存储过程。OLE DB是一个开放规范,提供了对不同类型数据的访问和操纵标准。ADO是OLE DB的消费者,...

    Java调用oracle存储过程通过游标返回临时表

    本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...

    使用java实现oracle存储过程

    使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...

    Java获取Oracle存储过程返回的Cursor

    本篇文章将详细介绍如何在Java中通过ODBC6驱动获取Oracle存储过程返回的Cursor。 首先,我们需要创建一个Oracle存储过程,该过程定义了一个名为CURSOR_RESULT的REF CURSOR类型。在提供的示例中,我们有一个名为TEST...

    java调用oracle存储过程或者函数

    1. 参数类型匹配:确保Java中的参数类型与Oracle存储过程或函数中的参数类型一致,否则可能导致转换异常。 2. 注意游标处理:有些存储过程可能返回游标,需要特别处理。 3. 事务管理:根据业务需求,可能需要手动...

    java调用Oracle存储过程的代码

    总结,通过Java调用Oracle存储过程,我们需要配置JDBC驱动,建立数据库连接,创建CallableStatement,设置参数,执行存储过程,并处理返回的结果。在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的...

    java 与 oracle 存储过程

    Java与Oracle存储过程是数据库应用开发中的重要技术结合,它们在企业级系统中广泛使用,尤其是在数据处理和业务逻辑复杂的场景下。Oracle存储过程是一种在数据库服务器端编写的程序,可以包含一系列SQL语句和控制流...

    java调用oracle存储过程返回结果集,Record,cursor.[参考].pdf

    总结来说,这个示例展示了如何在Java中调用Oracle存储过程,处理返回的Record类型数据,并将这些数据以Cursor形式返回。在实际开发中,这种技术常用于处理复杂的业务逻辑,尤其是在需要大量自定义数据结构和返回多行...

    java调用oracle存储过程实现增删改查

    如果存储过程返回一个结果集,可以通过`ResultSet`对象处理。例如,进行查询操作时,可以创建一个`ResultSetMetaData`对象获取列信息,然后遍历结果集: ```java ResultSet rs = cs.getResultSet(); ...

    用java调用oracle存储过程

    以上代码展示了如何在Java中调用Oracle数据库的三种类型的存储过程:无返回值的存储过程、有单个返回值的存储过程以及返回列表的存储过程。对于无返回值的存储过程,主要涉及的是参数的输入,通过`execute()`方法...

    java调用oracle存储过程(游标)相关

    本文将深入探讨如何使用Java来调用Oracle存储过程,特别是涉及游标的场景。 首先,Oracle存储过程是一种预编译的SQL和PL/SQL代码块,可以在数据库服务器端执行,提供了一种封装业务逻辑的方式。而游标(Cursor)在...

    oracle存储过程返回多行多列的结构化数组,java调用并解析

    总结来说,本示例展示了如何在Oracle存储过程中定义和使用结构化数组,以及如何在Java中调用这些存储过程并解析返回的多行多列数据。通过这种方式,你可以高效地处理复杂的数据结构,同时利用Java的灵活性来处理这些...

    oracle存储过程学习经典入门

    本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...

Global site tag (gtag.js) - Google Analytics