Oracle
 sql >> Database >  >> RDS >> Oracle

PLS-00302:il componente deve essere dichiarato - Impossibile risolvere

Prova:

begin
  for emp_complex_rec in (select e.fname,
                                 d.dlocation
                            from employee e
                            INNER JOIN dept_location d
                              ON (e.dno = d.dnumber))
  loop
    dbms_output.put_line('The employee id is: ' ||
                         emp_complex_rec.rname ||
                         ' and the employee''s location is ' ||
                         emp_complex_rec.rlocation);
  end loop;
end;

Il problema con il codice originale era che la definizione di emp_complex_rec come tipo era in collisione con la definizione di emp_complex_rec come variabile di ciclo del cursore. Non è necessaria nemmeno la definizione esplicita del cursore:IMO inserisce SELECT nel FOR loop è più facile e più chiaro.

Condividi e divertiti.