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