但是使用管道函数的时候是可以返回一个package里面定义的type的。
create or replace package test_type
is
type test_type_record is record(
item_key varchar2(100),
item_value varchar2(100)
);
type test_type_tab is table of test_type_record;
end test_type;
/
create or replace function pipe_function( p_string varchar2 )
return test_type.test_type_tab pipelined
is
l_item test_type.test_type_record;
begin
for i in 1..length( p_string ) loop
l_item.item_key := substr( p_string, i, 1 );
l_item.item_value := 1;
pipe row( l_item );
end loop;
return;
end pipe_function;
/
select * from table( pipe_function( 'hello, world' ) );