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

TechnoFantasy 2002-04-25 11:58:38
oracle存储过程如何返回数据集?
如何在Java中获得返回的数据集?
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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表

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧