读书人

java调用oracle存储过程回来多条记录(

发布时间: 2013-03-26 21:10:03 作者: rapoo

java调用oracle存储过程返回多条记录(结果集)

游标,类型,嵌套表,存储包,存储过程

?

public void callPrTest() {        Long orderId = new Long(6019214);        Connection conn = null;           ResultSet rs = null;           CallableStatement cs = null;           try {               conn = this.getConnection();               cs = conn.prepareCall("{ call HN_PKG_RES.makeOrderAttrs(?,?) } ");            cs.setLong(1, orderId.longValue());            //注册输出类型       cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);               cs.execute();            ResultSet rsResult = (ResultSet) cs.getObject(2);               while (rsResult.next()) {                 System.out.println(new StringBuffer().append(rsResult.getString("CharacterId"))               .append("\t").append(rsResult.getString("CharacterName"))               .append("\t").append(rsResult.getString("CharacterValue"))               .append("\t").append(rsResult.getString("CharacteValueName"))               .append("\t").append(rsResult.getString("OldCharacterValue"))               .append("\t").append(rsResult.getString("OldCharacteValueName"))               );              }         } catch (SQLException e) {               e.printStackTrace();           } finally {            cleanUp(conn, null, null, rs);        }       }  

?


输出:
1 2 3 4 5 6
10000 计费类型 c 付费 null null
10001 付费方式 2 后付费 null null
20000 销售品 2124 总机服务??null null
16005 产品密码 123123 123123 null null
16275 集团短号长度 4 4 null null
16277 话务员轮询方案 1627701 轮寻 null null
16292 集团类型 1629201 省级 null null


我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

读书人网 >其他数据库

热点推荐