我用scott登录Oracle 9i 用PL/SQL developer 写了下述存储过程.create or replace procedure GET_DEP_DETAIL(DepNo in Number) is cursor dep_detail_cursor
IS select d.deptno,d.dname,d.loc,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm from DEPT d join EMP e on d.deptno = e.deptno and d.deptno = depNo order by d.deptno; TYPE dep_detail_table_type IS TABLE OF dep_detail_cursor%ROWTYPE;
dep_detail_table dep_detail_table_type;
begin OPEN dep_detail_cursor;
FETCH dep_detail_cursor BULK COLLECT INTO dep_detail_table;
CLOSE dep_detail_cursor; FOR i IN 1..dep_detail_table.COUNT LOOP
DBMS_OUTPUT.put_line(dep_detail_table(i).DNAME);
Dbms_Output.put_line(dep_detail_table(i).ENAME);
END LOOP;
end GET_DEP_DETAIL;可编译时总是提示:
Compilation errors for PROCEDURE SCOTT.GET_DEP_DETAILError: PLS-00597: INTO 列表中的表达式 'DEP_DETAIL_TABLE' 类型错误
Line: 13
Text: FETCH dep_detail_cursor BULK COLLECT INTO dep_detail_table;
不知道是那里错了,请大家指点一下.谢谢.
IS select d.deptno,d.dname,d.loc,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm from DEPT d join EMP e on d.deptno = e.deptno and d.deptno = depNo order by d.deptno; TYPE dep_detail_table_type IS TABLE OF dep_detail_cursor%ROWTYPE;
dep_detail_table dep_detail_table_type;
begin OPEN dep_detail_cursor;
FETCH dep_detail_cursor BULK COLLECT INTO dep_detail_table;
CLOSE dep_detail_cursor; FOR i IN 1..dep_detail_table.COUNT LOOP
DBMS_OUTPUT.put_line(dep_detail_table(i).DNAME);
Dbms_Output.put_line(dep_detail_table(i).ENAME);
END LOOP;
end GET_DEP_DETAIL;可编译时总是提示:
Compilation errors for PROCEDURE SCOTT.GET_DEP_DETAILError: PLS-00597: INTO 列表中的表达式 'DEP_DETAIL_TABLE' 类型错误
Line: 13
Text: FETCH dep_detail_cursor BULK COLLECT INTO dep_detail_table;
不知道是那里错了,请大家指点一下.谢谢.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货