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

Tabel yang dibuat dalam prosedur dijatuhkan, Mendapatkan kesalahan kompilasi untuk prosedur

Kode yang perlu memeriksa apakah ada tabel menunjukkan arsitektur perangkat lunak yang buruk. Seharusnya tidak perlu membuat tabel dengan cepat. Ini anti-pola (setidaknya di Oracle). Namun, kami cukup sering melihat variasi pada masalah ini, jadi jelas bahwa anti-pola ini berkembang pesat di alam liar.

Jika Anda benar-benar perlu menerapkan solusi seperti itu (untuk alasan apa pun), pendekatan yang benar adalah memisahkan kode pembuatan tabel dari tabel menggunakan kode. Miliki paket terpisah untuk mereka.

begin
    pkg_ddl.build_table_xyz;
    pkg_calc.run_xyz_job;
end;

Jika tabel XYZ tidak ada pkg_calc.run_xyz_job() tidak valid. Namun ketidakabsahannya tidak akan mencegah pkg_ddl.build_table_xyz() dari mengeksekusi. Kemudian, ketika program luar memanggil pkg_calc.run_xyz_job() itu akan mengkompilasi prosedur.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara keluar dari skrip di SQLPlus ketika terjadi kesalahan dan kembali ke prompt SQLPlus, tanpa memutuskan atau keluar dari SQLPlus?

  2. alat pengembang oracle sql - data tidak tersedia setelah komit

  3. Migrasi dari Java 1.4, EJB 1 ke Java 6 dan EJB 3

  4. Apa metode terbaik untuk selalu mendapatkan 2 tempat desimal di Oracle?

  5. ingin menampilkan nilai positif dan negatif di kolom yang berbeda melalui satu kueri