X_SQL :='select user_id,user_name,email from user_mst where user_id like ''%'|| P_USER_ID_I ||'%'''; --生成SQL语句
OPENP_RESULT_SET_O FORX_SQL;
RETURNP_RESULT_SET_O; --返回游标
ENDgetCursorList;
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
关注
suiziguo
suiziguo
本版等级:
#2 得分:5回复于: 2010-01-27 10:05:39
SQL> create or replace procedure emp_dept 2 (pi_deptno IN emp.deptno%TYPE, 3 po_result OUT SYS_REFCURSOR) 4 IS 5 begin 6 OPEN po_result FOR 7 SELECT * FROM emp WHERE deptno=pi_deptno; 8 end ; 9 /
过程已创建。
SQL> var r_cur refcursor SQL> exec emp_dept(10,:r_cur);
PL/SQL 过程已成功完成。
SQL> print :r_cur
EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO ---------- 7782 CLARK MANAGER 7839 09-6月 -81 2450 10
SQL> CREATE OR REPLACE FUNCTION func_emp_dept 2 (pi_deptno IN emp.deptno%TYPE) 3 RETURN SYS_REFCURSOR 4 IS 5 po_result SYS_REFCURSOR; 6 BEGIN 7 OPEN po_result FOR 8 SELECT * FROM emp WHERE deptno=pi_deptno; 9 RETURN po_result; 10 END; 11 /