String str ="BEGIN"; str +=" OPEN ? FOR SELECT * FROM EMP;"; str +=" OPEN ? FOR SELECT * FROM EMP;"; str +=" END;"; CallableStatement cs = m_dbConn.prepareCall(str); cs.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR); cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR); cs.execute(); //Get the rows from each resultset returned by the anonymous block ResultSet resultSet = (ResultSet)cs.getObject(1); while (resultSet.next()) { System.out.println("RS1:"+resultSet.getInt(1)); } resultSet = (ResultSet)cs.getObject(2); while (resultSet.next()) { System.out.println("RS2:"+resultSet.getInt(1)); }