create or replace package body pkg is
function consumer return sys_refcursor is
src_rows sys_refcursor;
begin
open src_rows for
select empno,ename,hiredate,sal,deptno
from emp;
return src_rows;
end;function manipulator(src_rows sys_refcursor) return emp_list is
changed_rows emp_list;
begin
fetch src_rows
bulk collect into changed_rows;
close src_rows;
for i in 1..changed_rows.count loop
changed_rows(i).sal:=changed_rows(i).sal+10;
changed_rows(i).hiredate:=changed_rows(i).hiredate+1;
end loop;
return changed_rows;
end;procedure producer(changed_rows emp_list)is
begin
forall i in 1..changed_rows.count
insert into emp2 values changed_rows(i);// 这行报错 commit;
end;
end;倒数第三行报错Compilation errors for PACKAGE BODY ZHUYOU.PKGError: PL/SQL: ORA-00913: 值过多
Line: 29
Text: insert into emp2 values changed_rows(i);Error: PL/SQL: SQL Statement ignored
Line: 29
Text: insert into emp2 values changed_rows(i);
function consumer return sys_refcursor is
src_rows sys_refcursor;
begin
open src_rows for
select empno,ename,hiredate,sal,deptno
from emp;
return src_rows;
end;function manipulator(src_rows sys_refcursor) return emp_list is
changed_rows emp_list;
begin
fetch src_rows
bulk collect into changed_rows;
close src_rows;
for i in 1..changed_rows.count loop
changed_rows(i).sal:=changed_rows(i).sal+10;
changed_rows(i).hiredate:=changed_rows(i).hiredate+1;
end loop;
return changed_rows;
end;procedure producer(changed_rows emp_list)is
begin
forall i in 1..changed_rows.count
insert into emp2 values changed_rows(i);// 这行报错 commit;
end;
end;倒数第三行报错Compilation errors for PACKAGE BODY ZHUYOU.PKGError: PL/SQL: ORA-00913: 值过多
Line: 29
Text: insert into emp2 values changed_rows(i);Error: PL/SQL: SQL Statement ignored
Line: 29
Text: insert into emp2 values changed_rows(i);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货