PACKAGE
sql 代码
-
CREATE OR REPLACE PACKAGE PKG_UIREPORT_DEPTTRANSTABLE AS
-
-
TYPE MY_CURSOR IS REF CURSOR;
-
-
end PKG_UIREPORT_DEPTTRANSTABLE;
PROCEDURE
sql 代码
-
CREATE OR REPLACE PROCEDURE GETDEPTTRANSTABLE(
-
o_CURSOR out PKG_UIREPORT_DEPTTRANSTABLE.MY_CURSOR,
-
i_POST_DATE IN VARCHAR2,
-
i_SEC_TYPE IN VARCHAR2
-
) IS
-
- BEGIN
-
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);
-
- END GETDEPTTRANSTABLE;
JAVA代码调用存储过程并得到记录集
java 代码
-
.....
-
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import oracle.jdbc.OracleTypes;
-
......
-
.......
-
Connection conn = null;
-
CallableStatement cstmt = null;
-
ResultSet rs = null;
-
ComOutput comOutput = null;
-
String postDate = "20070118";
-
String secType = "01";
-
try {
-
conn = EJBUtil.getConnection();
-
-
-
-
cstmt = conn.prepareCall("{ call GETDEPTTRANSTABLE(?,?,?) }");
-
cstmt.registerOutParameter(1,OracleTypes.CURSOR);
-
cstmt.setString(2,postDate);
-
cstmt.setString(3,secType);
-
cstmt.execute();
-
rs = (ResultSet)cstmt.getObject(1);
-
while(rs.next) {
-
...........
-
}
-
} catch(Exception e) {
-
e.printStackTrace();
-
} finally {
-
CommUtil.closeResultSet(rs);
-
cstmt.close();
-
CommUtil.closeConnection(conn);
- }
分享到:
相关推荐
Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中,需要创建两个Type类型:`myScalarType`和`myTableType...
本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...
Delphi 中调用 Oracle 的存储过程返回数据集 Delphi 中调用 Oracle 的存储过程返回数据集是指在 Delphi 应用程序中调用 Oracle 数据库中的存储过程,并将存储过程的返回结果集显示在 Delphi 应用程序中。这种方式...
在C#中调用Oracle存储过程来返回数据集是一个常见的任务,这涉及到ADO.NET库的使用,特别是OracleClient组件。Oracle存储过程是数据库中的预编译SQL代码块,可以接收输入参数,执行复杂的业务逻辑,并返回结果。在C#...
### Oracle存储过程返回结果集详解 #### 一、概述 在Oracle数据库中,存储过程是一种重要的编程组件,它能够执行一系列SQL语句并处理复杂的业务逻辑。存储过程的一个常见应用场景是返回结果集(Record Set),这有...
"使用OLE-DB和ADO调用返回记录集的Oracle存储过程" 摘要:本文介绍了如何使用OLE DB和ADO调用返回记录集的Oracle存储过程。OLE DB是一个开放规范,提供了对不同类型数据的访问和操纵标准。ADO是OLE DB的消费者,...
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...
本篇文章将详细介绍如何在Java中通过ODBC6驱动获取Oracle存储过程返回的Cursor。 首先,我们需要创建一个Oracle存储过程,该过程定义了一个名为CURSOR_RESULT的REF CURSOR类型。在提供的示例中,我们有一个名为TEST...
1. 参数类型匹配:确保Java中的参数类型与Oracle存储过程或函数中的参数类型一致,否则可能导致转换异常。 2. 注意游标处理:有些存储过程可能返回游标,需要特别处理。 3. 事务管理:根据业务需求,可能需要手动...
总结,通过Java调用Oracle存储过程,我们需要配置JDBC驱动,建立数据库连接,创建CallableStatement,设置参数,执行存储过程,并处理返回的结果。在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的...
Java与Oracle存储过程是数据库应用开发中的重要技术结合,它们在企业级系统中广泛使用,尤其是在数据处理和业务逻辑复杂的场景下。Oracle存储过程是一种在数据库服务器端编写的程序,可以包含一系列SQL语句和控制流...
总结来说,这个示例展示了如何在Java中调用Oracle存储过程,处理返回的Record类型数据,并将这些数据以Cursor形式返回。在实际开发中,这种技术常用于处理复杂的业务逻辑,尤其是在需要大量自定义数据结构和返回多行...
如果存储过程返回一个结果集,可以通过`ResultSet`对象处理。例如,进行查询操作时,可以创建一个`ResultSetMetaData`对象获取列信息,然后遍历结果集: ```java ResultSet rs = cs.getResultSet(); ...
以上代码展示了如何在Java中调用Oracle数据库的三种类型的存储过程:无返回值的存储过程、有单个返回值的存储过程以及返回列表的存储过程。对于无返回值的存储过程,主要涉及的是参数的输入,通过`execute()`方法...
本文将深入探讨如何使用Java来调用Oracle存储过程,特别是涉及游标的场景。 首先,Oracle存储过程是一种预编译的SQL和PL/SQL代码块,可以在数据库服务器端执行,提供了一种封装业务逻辑的方式。而游标(Cursor)在...
总结来说,本示例展示了如何在Oracle存储过程中定义和使用结构化数组,以及如何在Java中调用这些存储过程并解析返回的多行多列数据。通过这种方式,你可以高效地处理复杂的数据结构,同时利用Java的灵活性来处理这些...
本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...