sql >> Databáze >  >> RDS >> Oracle

PLS-00302:komponenta musí být deklarována- Nelze vyřešit

Zkuste:

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;

Problém s původním kódem byl v definici emp_complex_rec jako typ kolidoval s definicí emp_complex_rec jako proměnná kurzorové smyčky. Není potřeba ani explicitní definice kurzoru - IMO vložíte SELECT v FOR smyčka je jednodušší a přehlednější.

Sdílejte a užívejte si.



  1. IP adresa uložená jako desítková - PL/SQL se zobrazí jako tečkovaná čtveřice

  2. Pochopení 3 klíčových charakteristik velkých dat

  3. SQL WHERE.. IN klauzule více sloupců

  4. Jak používat jQuery SlickGrid s PHP / MySQL (načíst data serveru a uložit změny)