Essayez :
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;
Le problème avec le code d'origine était que la définition de emp_complex_rec
car un type était en collision avec la définition de emp_complex_rec
en tant que variable de boucle de curseur. La définition explicite du curseur n'est pas nécessaire non plus - IMO mettant le SELECT
dans le FOR
boucle est plus simple et plus claire.
Partagez et profitez.