clear screen
set serveroutput on size unlimited
select banner from v$version
create or replace package McDodd as
type Names_NT is table of NedMcDodd.firstname%type;
function Daughters return McDodd.Names_NT pipelined;
function Relatives(type_in in number) return McDodd.Names_NT pipelined;
end;
show err
create or replace package body McDodd as
function Daughters return McDodd.Names_NT pipelined
is
l_row NedMcDodd.firstname%type;
begin
l_row := 'Hooly';
pipe row(l_row);
l_row := 'Holy';
pipe row(l_row);
return;
end;
function Relatives(type_in in number) return McDodd.Names_NT pipelined
is
begin
for l_row in (select n.firstname from NedMcDodd n where n.type = type_in) loop
pipe row(l_row.firstname);
end loop;
return;
end;
end;
show err
select *
from table(McDodd.Daughters)
select *
from table(McDodd.Relatives(20))