Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

PLS-00302:komponen harus dideklarasikan- Tidak dapat diselesaikan

Coba:

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;

Masalah dengan kode aslinya adalah definisi emp_complex_rec sebagai tipe bertabrakan dengan definisi emp_complex_rec sebagai variabel loop kursor. Definisi kursor eksplisit juga tidak diperlukan - IMO menempatkan SELECT di FOR loop lebih mudah dan lebih jelas.

Bagikan dan nikmati.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasil format pengurangan waktu

  2. ORA-00054:sumber daya sibuk dan dapatkan dengan SEKARANG ditentukan

  3. Menggunakan prosedur pl-sql atau kursor untuk memilih peringkat 3 teratas

  4. Peningkatan otomatis di Oracle tanpa menggunakan pemicu

  5. Bagaimana saya bisa menghitung baris yang terpengaruh agregat jika ada beberapa kueri DML di blok PLSQL saya?