- 论坛徽章:
- 0
|
create table tb1(k number, v varchar2(10));
insert into tb1(k, v) values(100,'aaa');
insert into tb1(k, v) values(200,'bbb');
insert into tb1(k, v) values(200,'ccc');
select * from tb1;
create type row_type1 as object(k1 number, v varchar2(10));
create type table_type1 as table of row_type1;
create or replace function fun1 return table_type1 pipelined as
v row_type1;
begin
for myrow in (select k, v from tb1) loop
v := row_type1(myrow.k, myrow.v);
pipe row (v);
end loop;
return;
end fun1;
select a.k1,a.v from (table(fun1)) a;
我想得到的效果如下,主要目的是为了方便发布和管理,但是这样会出错,不知为什么,望
各位帮帮忙
create or replace package pkg_test is
type row_type1 is record (k1 number, v varchar2(10));
type table_type1 is table of row_type1;
function fun1 return table_type1 pipelined;
end pkg_test;
create or replace package body pkg_test as
function fun1 return table_type1 pipelined as
v row_type1;
begin
for myrow in (select agentcode, name from faagent) loop
v := row_type1(myrow.k1, myrow.v);
pipe row (v);
end loop;
return;
end fun1;
end pkg_test; |
|