oracle 返回表函数

--首先创建一个类型  

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'));

你可能感兴趣的:(ORACLE,oracle,返回表函数)