现在我想写一个存储过程,是查询某一张表比如
create or replace procedure licheng(test1 in varchar2, test2 out varchar2) is
begin
select c1 into test2 from T129 t where t.c1=test1;
end licheng;我想用java调用的时候返回一个ResultSet得怎么接受它啊!,还有我想问一下大家,如果是游标的话该怎么做呢?谢谢大家
create or replace procedure licheng(test1 in varchar2, test2 out varchar2) is
begin
select c1 into test2 from T129 t where t.c1=test1;
end licheng;我想用java调用的时候返回一个ResultSet得怎么接受它啊!,还有我想问一下大家,如果是游标的话该怎么做呢?谢谢大家
rs=str.executeQuery(sql);
这不就返回一个rs吗?
create or replace procedure licheng(test1 in varchar2, test2 out varchar2, refcur OUT SYS_REFCURSOR) is
begin
open refcur for
select c1 into test2 from T129 t where t.c1=test1;
end licheng; --然后在你的java代码中这样写StringBuffer sb = new StringBuffer();
sb.append("{call ")
.append("licheng(?,?,?)}");
csmt = conn.prepareCall(sb.toString());
csmt.setString(1,test1);
csmt.registerOutParameter(2,Types.VARCHAR);
csmt.registerOutParameter(3,OracleTypes.CURSOR);
csmt.execute();
rs = ((ResultSet) csmt.getObject(9));
自己好好调试下...good luck!
CallableStatement st=conn.prepareCall(sql);
// set 方法设置预处理的参数
ResultSet rs=st.executeQuery();
rs就接收到了