你的意思是不是希望过程的OUT参数返回一个记录集?
一般过程的OUT参数都是标准类型的变量,还没接触到记录集的例子。
开始做程序的时候我也很希望能返回一个集合,但目前还没有办法实现。只能将结果封装成一个字符串然后再解开,或插临时表用SQLQUERY去查询。
希望能得到更好的解决方法。帮你顶

解决方案 »

  1.   

    oracle存储过程如何返回数据集
    你需要写到一个包中:
    create or replace package pag_cs_power as    type c_Type is ref cursor;
      
    FUNCTION FUN_CS_GETDICTLIST(
      v_DictIndex in  varchar2) return c_Type;end pag_cs_power;存储过程代码:FUNCTION FUN_CS_GETDICTLIST(
      v_DictIndex in  varchar2) return c_Type
         as
            c_cursor            c_Type;
    begin
       open c_cursor for
          select DICTID,DICTNAME FROM SYS_DICT WHERE DICTINDEX = v_DictIndex;
       return c_cursor;
    end FUN_CS_GETDICTLIST;Java的代码:
                String query = "begin :1 := pag_cs_power.FUN_CS_GETDICTLIST(:2); end;";
                CallableStatement cstmt = conn.prepareCall(query);            cstmt.registerOutParameter(1,OracleTypes.CURSOR);
                cstmt.setString(2, sIndex );
                
                cstmt.execute();
                ResultSet rset1 = (ResultSet)cstmt.getObject(1);