首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-05-23 
“无法从非嵌套表项访问行”的错我只是在存储过程中调用了下函数,为什么报这个错啊!各位有经验的朋友,一般这

“无法从非嵌套表项访问行”的错
我只是在存储过程中调用了下函数,为什么报这个错啊!各位有经验的朋友,一般这是怎么回事啊?

[解决办法]

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); 

热点排行