【发布时间】:2021-12-10 13:39:48
【问题描述】:
我在 Oracle 的 SCOTT 中创建了如下所示的包/正文。
-- PACKAGE SPECIFICATION:
create or replace package emp_pkg Is
TYPE tbl_emp IS TABLE OF EMP%ROWTYPE;
PROCEDURE p_displayEmpName;
end emp_pkg;
-- PACKAGE BODY:
create or replace package body emp_pkg Is
PROCEDURE p_displayEmpName IS
CURSOR c_rec IS select * from emp where deptno = 30;
v_tbl_emp tbl_emp;
BEGIN
open c_rec;
loop
fetch c_rec bulk collect into v_tbl_emp;
for i in 1..v_tbl_emp.count loop
dbms_output.put_line(v_tbl_emp(i).ename || ','||v_tbl_emp(i).hiredate);
end loop;
end loop;
END p_displayEmpName;
end emp_pkg;
编译包和正文没有问题。
一旦我执行了这个过程,它就会进入一个无限循环:
-- CALL ing the procedure:
exec emp_pkg.p_displayempname;
我怎样才能知道我做错了什么?
【问题讨论】:
标签: oracle procedure bulk collect