【发布时间】:2019-06-18 15:43:05
【问题描述】:
我正在尝试编译以下代码,但出现以下错误:
“PLS-00302:必须声明组件‘DEPT_ID’”。
DECLARE
DEPT_ID DEPARTMENTS.DID%TYPE;
DEPT_NAME DEPARTMENTS.DEPARTMENT_NAME%TYPE;
D_MID DEPARTMENTS.MANAGER_ID%TYPE;
D_LID DEPARTMENTS.LOCATION_ID%TYPE;
CURSOR C2 IS SELECT * FROM DEPARTMENTS WHERE DID=1;
D_ROW C2%ROWTYPE;
BEGIN
OPEN C2;
LOOP
FETCH C2 INTO D_ROW;
EXIT WHEN C2%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(D_ROW.DEPT_ID||' | '||D_ROW.DEPT_NAME||' | '||D_ROW.D_MID||' | '||D_ROW.D_LID);
END LOOP;
CLOSE C2;
END;
【问题讨论】:
-
您的表真的有
DID和DEPT_ID列吗?该错误表明后者实际上并不存在......以及局部变量的用途是什么;暂时不用? -
感谢@AlexPoole 的评论。 Departments 表包含 DID 列,DEPT_ID 是我定义的变量。