17,086
社区成员
发帖
与我相关
我的任务
分享
-- 给个例子给你,自己看着办吧:
-----------------------------------------------------------------------------
create or replace package pkg_emp_info
as
type myrctype is ref cursor;
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype);
end pkg_emp_info;
/
create or replace package body pkg_emp_info
as
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype)
is
sqlstr VARCHAR2(2000);
begin
sqlstr :=
'SELECT * from emp e where 1=1';
if v_empno<>0 then
sqlstr := sqlstr||' and e.empno='||v_empno;
end if;
if v_ename<>'' then
sqlstr := sqlstr||' and e.ename like ''%||v_ename||%''';
end if;
if v_deptno<>0 then
sqlstr := sqlstr||' and e.deptno='||v_deptno;
end if;
sqlstr := sqlstr||' ORDER BY e.empno ';
OPEN p_rc FOR sqlstr;-- USING v_mobile; --,v_fromDate,v_fromDate,v_toDate,v_toDate,v_sign,v_sign;
end emp_info_proc;
end pkg_emp_info;
/