请各位数据库高手快快帮忙.

carrysilence 2003-11-16 07:11:58
想写一个存储过程,能够返回给我一个结果集.


例如: select * from table

我要把该结果返回给java程序,用Resultset得到,请问这个过程该怎么写.

望各位尽快给出答案,谢谢.


多谢览帖.
...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
carrysilence 2003-11-16
  • 打赏
  • 举报
回复
请问package是什么??

为什么有的例子给出的 是一个package ,和一个 body ,里面含有一个procdure

此外,我用java无法得到这些结果.

CallableStatement toesUp = conn.prepareCall(
"{ ? = call PROC_TEST() }");
toesUp.registerOutParameter(1, Types.OTHER);
toesUp.execute();
ResultSet rs = (ResultSet) toesUp.getObject(1);

java.sql.SQLException: 无效的列类型


-------------------------------------
我的所有代码:
CREATE OR REPLACE PACKAGE PKG_TEST
IS
TYPE T_CURSOR IS REF CURSOR;

PROCEDURE PROC_TEST(C_CURSOR OUT T_CURSOR);
END;

CREATE OR REPLACE PACKAGE BODY PKG_TEST
IS

PROCEDURE PROC_TEST(C_CURSOR OUT T_CURSOR)
IS
V_CURSOR T_CURSOR;
BEGIN
OPEN V_CURSOR FOR
select * from T_USER;
C_CURSOR := V_CURSOR;
END;
END;

---------------
还望各位有经验的高手指教一番,谢谢
lynx1111 2003-11-16
  • 打赏
  • 举报
回复
搜索结果集很多这样的贴子!
lynx1111 2003-11-16
  • 打赏
  • 举报
回复
表名:test_1
列名:num(number),name(varchar2),sex(char),major(varchar2)

建立过程:
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;
/

CREATE PROCEDURE PRO_SLE(INPUT1 in integer,INPUT2 in VARCHAR2,p_rc out pkg_test.myrctype)
AS
begin
open p_rc for 'SELECT * FROM TEST WHERE AA='||INPUT1||' AND instr(BB,'||INPUT2||')>0';
end;
/
执行过程:
declare
v_num TEST_1.num%type;
v_name test_1.name%type;
v_sex test_1.sex%type;
v_major test_1.major%type;
v_rc pkg_test.myrctype;
begin
PRO_SLE(1,'1',v_rc);
loop
fetch v_rc into v_num,v_name,v_sex,v_major;
exit when v_rc%notfound;
dbms_output.put_line(v_num||v_name||v_sex||v_major);
end loop;
end;

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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