Oracle
 sql >> база данни >  >> RDS >> Oracle

PLS-00302:компонентът трябва да бъде деклариран - Не може да се разреши

Опитайте:

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;

Проблемът с оригиналния код беше, че дефиницията на emp_complex_rec като тип се сблъскваше с дефиницията на emp_complex_rec като променлива за цикъл на курсора. Изричната дефиниция на курсора също не е необходима - IMO поставя SELECT в FOR цикълът е по-лесен и по-ясен.

Споделяйте и се наслаждавайте.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първичните ключове и индекси в езика на заявките Hive са възможни или не?

  2. време за опресняване на материализирания изглед на oracle

  3. Матрица на поддържаните версии на Oracle

  4. променете колоната за отпадане на таблицата в базата данни на Oracle

  5. Не може да се извика съхранена процедура на Oracle от SSRS report builder 3.0