sql >> Databasteknik >  >> RDS >> Oracle

PLS-00302:komponent måste deklareras- Kan inte lösas

Försök:

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;

Problemet med den ursprungliga koden var att definitionen av emp_complex_rec som en typ kolliderade med definitionen av emp_complex_rec som en markörloopvariabel. Den explicita markördefinitionen behövs inte heller - IMO sätter SELECT i FOR loop är enklare och tydligare.

Dela och njut.



  1. MySQL MED ROLLUP visar inte vad jag förväntade mig

  2. Återställa Django postgresql-databasen? spolning fungerar inte

  3. node.js synkron mysql-fråga

  4. SQL-frågafel