当前位置: 代码迷 >> Oracle开发 >> “无法从非嵌套表项访问行”的错解决方法
  详细解决方案

“无法从非嵌套表项访问行”的错解决方法

热度:6   发布时间:2016-04-24 07:34:59.0
“无法从非嵌套表项访问行”的错
我只是在存储过程中调用了下函数,为什么报这个错啊!各位有经验的朋友,一般这是怎么回事啊?

------解决方案--------------------
SQL code
--你想用 table() 这种方式查询数据,你的函数不能是普通函数。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(k 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; select * from table(fun1);
  相关解决方案