【发布时间】:2012-06-27 03:50:27
【问题描述】:
我会使用JDBC从java调用procedure或function。
就最佳实践和性能而言,最好使用返回SYS_REFCURSOR 的function 或返回SYS_REFCURSOR 的procedure。
例如。
Procedure
create or replace procedure my_proc(p_deptno IN number,p_emp_no IN varchar2
, p_cursor OUT SYS_REFCURSOR)
is
begin
open p_cursor FOR
select *
from emp
where deptno = p_deptno and emp_number=p_emp_no;
end proc;
/
Function
CREATE OR REPLACE FUNCTION my_func (p_deptno IN number,p_emp_no IN varchar2)
RETURN SYS_REFCURSOR
AS
p_cursor SYS_REFCURSOR;
BEGIN
OPEN p_cursor FOR
select *
from emp
where deptno = p_deptno and emp_number=p_emp_no;
RETURN p_cursor;
END;
/
以上哪一项是更好的选择?有人可以对此提供一些见解吗? 任何帮助都是非常可观的。
谢谢
【问题讨论】:
标签: function stored-procedures jdbc plsql oracle10g