--首先创建一个类型
create or replace type t_test as object(
empno number(4),
ename varchar2(20),
job varchar2(20),
sal number(7,2)
) ;
---创建一个对象,引用上面的类型t_test
create or replace type t_test_table as table of t_test ;
--然后创建一个返回表的函数
create or replace function fn_test_collect(v_deptno number)
return t_test_table
is
v_test t_test_table:=t_test_table();
begin
select t_test(empno,empno,job,sal) bulk collect into v_test
from emp where deptno=v_deptno;
return v_test;
end;
--最后调用
select * from table(fn_test_collect('10'));