exit when v_emp%NOTFOUND;这里写错了,不是使用v_emp,而是使用游标来判断。
写成EXIT WHEN v_c%NOTFOUND;就对了。
完整语句如下:
DECLARE
v_Deptno Scott.Emp.Deptno%TYPE;
CURSOR v_c IS
SELECT * FROM Scott.Emp WHERE Deptno = v_Deptno;
v_Emp v_c%ROWTYPE;
BEGIN
v_Deptno := &x;
OPEN v_c;
LOOP
FETCH v_c
INTO v_Emp;
EXIT WHEN v_c%NOTFOUND;
Dbms_Output.Put_Line(v_Emp.Ename);
END LOOP;
CLOSE v_c;
END;