一个简单的选项是返回refcursor的函数。这是一个基于Scott示例emp表的示例;函数接受部门编号作为参数,并返回与在该部门工作的员工相关的数据。 SQL> create or replace function f_test (par_deptno in emp.deptno%type)
2 return sys_refcursor
3 is
4 l_rc sys_refcursor;
5 begin
6 open l_rc for
7 select deptno, empno, ename, job, sal
8 from emp
9 where deptno = par_deptno;
10 return l_rc;
11 end;
12 /
Function created.
SQL> select f_test(10) from dual;
F_TEST(10)
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
DEPTNO EMPNO ENAME JOB SAL
---------- ---------- ---------- --------- ----------
10 7782 CLARK MANAGER 2572.5
10 7839 KING PRESIDENT 5250
10 7934 MILLER CLERK 1365
SQL>
|