Chinaunix

标题: 求救 [打印本页]

作者: shenjinchun    时间: 2008-11-07 15:25
标题: 求救
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;




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2