首先在数据库中建立函数,在包和包体中创建
/在包中的如下:
create or replace package TEST_HONBY Is
type tcur is ref cursor;
FUNCTION testResult return tcur;
end TEST_HONBY;
/在包体中的如下:
create or replace package body TEST_HONBY Is
FUNCTION testResult
return tcur
Is
recur1 tcur;
Begin
Open recur1 For
Select * From j_Dic_Table;
return(recur1);
End;
end TEST_HONBY;
程序中调用如下代码:
CallableStatement cs=null;
ResultSet rs = null;
cs=this.getConnection().prepareCall("{ ? = call marcket_house.TEST_HONBY.testResult()}");
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.execute();
rs = (ResultSet)cs.getObject(1);
while (rs.next()) {
System.out.println("sssss=="+rs.getString(1));
}