【发布时间】:2018-05-01 16:07:38
【问题描述】:
请解释一下这是如何工作的,谢谢。
DECLARE
CURSOR ab IS
SELECT emp.ename, emp.sal, dept.loc
FROM emp
JOIN dept ON emp.deptno = dept.deptno;
TYPE tbl_join IS TABLE OF cc%ROWTYPE;
l_table tbl_join;
BEGIN
OPEN cc;
FETCH cc BULK COLLECT INTO l_table;
CLOSE cc;
FOR indx IN
1 .. l_table.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE(l_table(indx).ename);
DBMS_OUTPUT.PUT_LINE(l_table(indx).sal);
DBMS_OUTPUT.PUT_LINE(l_table(indx).loc);
END LOOP;
END;
【问题讨论】:
-
它不工作。它定义了一个名为
ab的游标,然后引用了一个不存在的名为cc的游标。大概第 2 行应该是cursor cc is。顺便说一句,如果代码采用缩进和小写整齐排列,则通常更具可读性。