关于调用 带输出参数 CURSOR 的oracle存储过程

1. Create Procedure with Out parameter of CURSOR type

create or replace package pa_query as
 type p_cursor is ref cursor;
end pa_query;
/
create or replace procedure p_query(v_cursor out pa_query.p_cursor)
is
begin
open v_cursor for select * from emp;
end p_query;


2. Call the procedure in PL/SQL

declare 

type search_results is ref cursor;
results_out search_results;

begin
  -- Call the procedure
  package pa_query (results_out);
end;

或者



declare 

results_out [b]sys_refcursor[/b];

begin

  -- Call the procedure

  package pa_query (results_out);

end;




3. Call the procedure in JDBC java.


cstmt.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);cstmt.execute();
--将引用游标类型转化为结果集
ResultSet rs = (ResultSet)cstmt.getObject(2);

猜你喜欢

转载自kavinhub.iteye.com/blog/1748096