java 调用存储过程返回多个结果集
2017-04-20 11:25
495 查看
有时候有需求要通过存储过程返回多个结果集,样例如下:
ADD_BUSINESS_ID
=========游标2==============
A
CREATE OR REPLACE PROCEDURE p_t_return_cursor( cursor_o_1 OUT SYS_REFCURSOR, cursor_o_2 OUT SYS_REFCURSOR) IS BEGIN OPEN cursor_o_1 FOR SELECT object_name from user_objects WHERE object_type = 'INDEX' and rownum=1; OPEN cursor_o_2 FOR SELECT object_name from user_objects WHERE object_type = 'TABLE' and rownum=1; END p_t_return_cursor;
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; public class TestProdureCursor { static final String driver_class = "oracle.jdbc.driver.OracleDriver"; static final String connectionURL = "jdbc:oracle:thin:@10.10.100.16:1521:ora11"; static final String userID = "test"; static final String userPassword = "test"; public void runTest() { Connection con = null; CallableStatement stmt = null ; ResultSet rs = null; try { Class.forName (driver_class).newInstance(); con = DriverManager.getConnection(connectionURL, userID, userPassword); stmt = con.prepareCall("{CALL p_t_return_cursor(?,?)}"); stmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR); stmt.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR); stmt.execute(); System.out.println("=========游标1=============="); rs = (ResultSet) stmt.getObject(1); while(rs.next()) { System.out.println(rs.getString(1)); } System.out.println("=========游标2=============="); rs = (ResultSet) stmt.getObject(2); while(rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); }finally{ if(stmt != null){ try { stmt.close(); } catch (Exception e) { e.printStackTrace(); } } if(rs != null){ try { rs.close(); } catch (Exception e) { e.printStackTrace(); } } if(con != null){ try { con.close(); } catch (Exception e) { e.printStackTrace(); } } } } public static void main(String[] args) throws Exception{ TestProdureCursor testTestProdureCursor = new TestProdureCursor(); testTestProdureCursor.runTest(); } }=========游标1==============
ADD_BUSINESS_ID
=========游标2==============
A
相关文章推荐
- Java 调用存储过程 返回结果集
- Java 调用存储过程 返回结果集
- Java 调用存储过程 返回结果集
- 在JAVA中调用存储过程、并将结果取出来一例
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- JAVA调用ORACLE带数组输入参数和返回游标结果集的存储过程
- 关于oracle调用存储过程返回结果集
- java调用mysql存储过程返回多个结果集,与.net不同
- php调用存储过程返回结果集
- java调用ORACLE函数返回结果集
- javaEE--ibatis--Sping+flex4 调用存储过程返回List结果集
- JavaScript中远程级联调用(RPC)java对象中的方法并返回结果
- Flex通过RemoteObject调用java实例:flex传入参数以及接收java返回结果
- C#调用存储过程 返回值,输出参数,返回结果集
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- 在JAVA中调用存储过程、并将结果取出来一例
- 编写存储过程返回的结果集在游标中使用java代码调用
- Java 调用 Oracle 存储过程返回结果集
- java通过prepareCall调用oracle返回游标的存储过程