可能比较简单的问题,返回数据集

TechnoFantasy 2002-04-25 11:58:38
oracle存储过程如何返回数据集?
如何在Java中获得返回的数据集?
...全文
64 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
TechnoFantasy 2002-04-25
可以了,谢谢
  • 打赏
  • 举报
回复
nicholaz 2002-04-25
你需要写到一个包中:
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);
  • 打赏
  • 举报
回复
nicholaz 2002-04-25
你需要写到一个包中:
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);
  • 打赏
  • 举报
回复
mashansj 2002-04-25
利用数组实现
  • 打赏
  • 举报
回复
xinpingf 2002-04-25
可以考虑使用plsql表
  • 打赏
  • 举报
回复
发帖
Sybase

2590

社区成员

Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
帖子事件
创建了帖子
2002-04-25 11:58
社区公告
暂无公告