java调用oracle存储过程 返回多个结果集
2013-08-17 10:17
393 查看
package jp.co.kindlingsoft; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; public class TestDB { public static void main(String[] args) throws ClassNotFoundException, SQLException { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:KIN"; String user = "KIN"; String password = "KIN"; Connection con = null; CallableStatement stmt = null; ResultSet rs = null; Class.forName(driver); con = DriverManager.getConnection(url, user, password); stmt = con.prepareCall("{CALL GET_DATA(?,?)}"); stmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR); stmt.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR); stmt.execute(); rs = (ResultSet) stmt.getObject(1); while(rs.next()) { System.out.println(rs.getObject(1)); // rs.getObject(column_name) } System.out.println("************************************************"); rs = (ResultSet) stmt.getObject(2); while(rs.next()) { System.out.println(rs.getObject(1)); } } }
CREATE OR REPLACE PROCEDURE GET_DATA( CUR_OUT_1 OUT SYS_REFCURSOR, CUR_OUT_2 OUT SYS_REFCURSOR) IS BEGIN OPEN CUR_OUT_1 FOR SELECT USER_TAB_COLS.COLUMN_NAME FROM USER_TAB_COLS WHERE TABLE_NAME = 'TABLE1'; OPEN CUR_OUT_2 FOR SELECT USER_TAB_COLS.COLUMN_NAME FROM USER_TAB_COLS WHERE TABLE_NAME = 'TABLE2'; END GET_DATA
相关文章推荐
- Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
- Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
- Java调用oracle存储过程返回多个结果集
- SSM-Mybatis调用Oracle存储过程返回结果集(游标)
- java调用mysql存储过程返回多个结果集,与.net不同
- 编写存储过程返回的结果集在游标中使用java代码调用
- java调用oracle存储过程返回多条结果集
- java接受oracle存储过程返回的结果集(案例版)
- JDBC 调用ORACLE存储过程返回结果集并获得输出参数
- Java 调用存储过程 返回结果集
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- java调用ORACLE存储过程时数组传参,返回数组
- Java 调用 Oracle 存储过程返回结果集
- Java调用Oracle存储过程返回结果集
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- Java调用存储过程二(返回一行或多行结果集)
- java调用Oracle存储过程返回二维数组