Reputation: 27
I'm trying to use nested cursor-for-loops and get the following error: "PLS-00225" -> 'C_EMP'. I know the meaning of it but I don't know how to solve it.
Code:
set serveroutput on
set verify off
set echo off
declare
cursor c_dept is
select department_id, department_name
from departments
where department_id < 100;
cursor c_emp(p_department_id employees.department_id%type) is
select last_name, job_id, hire_date, salary
from employees
where employee_id < 120
and department_id = p_department_id;
begin
<<aussen>>
for r_dept in c_dept loop
dbms_output.put_line('Department Number: ' || r_dept.department_id || chr(10) ||
'Department Name: ' || r_dept.department_name || chr(10));
<<innen>>
for r_emp in c_emp(r_dept.department_id) loop
dbms_output.put_line(c_emp.late_name || c_emp.job_id || c_emp.hire_date || c_emp.salary);
end loop innen;
end loop aussen;
end;
/
Upvotes: 0
Views: 66
Reputation: 167981
In your line:
dbms_output.put_line(c_emp.late_name || c_emp.job_id || c_emp.hire_date || c_emp.salary);
It should be:
r_emp
instead of c_emp
; andlast_name
instead of late_name
.Upvotes: 1