大家好,
通常,存储的函数每次返回一个值。在oracle9i流水线函数中,一次返回数据量,
第一步,创建一个类型对象。
CREATE OR REPLACE package My_Types is
type lookup_row is record ( idx number, text varchar2(20) );
type lookups_tab is table of lookup_row;
end My_Types;
第二步创建函数
create or replace function Lookups_Fn
(p_id in employees.department_id%type)
return emp_Types.lookups_tab
pipelined
is
cursor emp_cur is
select employee_id,last_name
from employees
where department_id=p_id;
v_row emp_Types.lookup_row;
begin
open emp_cur;
loop
fetch emp_cur
into
v_row.employee_id,v_row.last_name;
exit when emp_cur%notfound;
pipe row ( v_row );
end loop;
return;
end Lookups_Fn;
请将来使用
From: https://bytes.com/topic/oracle/insights/680708-function-return-amount-data-time-oracle