我有一个类型对象,如下所示Emptable类型是empname,empid,rank
然后,我有一个Plsql函数,如下所示,并输出此错误。我需要对返回的empid列表运行sql select语句,并将其加载到返回列表中。下面的代码总是出错..
create or replace function emp_details return emptable
is
l_result_col emptable := emptable();
n integer := 0;
rxvalue number;
begin
for r in (select empname,empid from table)
loop
l_result_col.extend;
n := n + 1;
(select sum(xyz) into rxvalue from A inner join B on A.x=B.x and A.id=r.empid);
l_result_col(n) := t_col(r.empname, r.empid,rxvalue);
end loop;
return l_result_col;
end;
/任何帮助都将不胜感激..谢谢!
发布于 2013-07-23 04:45:24
为什么不直接使用PL/SQL代码呢?
select t_col(r.empname, r.empid, sum(xyz))
bulk collect into l_result_col
from table r
left join (A join B on A.x = B.x) on A.id = r.empid
group by r.empname, r.empid;发布于 2013-07-23 04:41:43
我认为你的选择不应该放在括号里。在这个上下文中,它不是一个子选择语句,而是一个单独的PL/SQL语句。
https://stackoverflow.com/questions/17796808
复制相似问题