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

Bagaimana Mengkompilasi Semua Paket Tidak Valid dalam Skema?

Di bawah ini adalah contoh program PL/SQL untuk mengkompilasi semua spesifikasi paket yang tidak valid dan semua badan paket yang tidak valid untuk pengguna saat ini (SCHEMA) di Oracle. Juga, jika ada paket yang tidak valid yang tidak berhasil dikompilasi, maka nama paket akan dicetak untuk pemeriksaan kesalahan manual.

Kompilasi Semua Paket Tidak Valid dalam Contoh Oracle

SET SERVEROUTPUT ON;

DECLARE
CURSOR c_pkg
IS
SELECT owner, object_type, object_name
FROM dba_objects
WHERE status = 'INVALID'
AND owner = USER
AND object_type LIKE 'PACKAGE%'
ORDER BY object_type;
BEGIN
FOR c IN c_pkg
LOOP
BEGIN
IF c.object_type = 'PACKAGE'
THEN
EXECUTE IMMEDIATE 'ALTER PACKAGE ' || c.owner || '.' || c.object_name || ' COMPILE';
ELSE
EXECUTE IMMEDIATE 'ALTER PACKAGE '
|| c.owner || '.' || c.object_name
|| ' COMPILE BODY';
END IF;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line(c.object_type || ' ' || c.object_name
|| ' is still invalid. Check the package manually to resolve.');
END;
END LOOP;
END;
/

Contoh Output (jika ada kesalahan):

PACKAGE EMP_PKG is still invalid. Check the package manually to resolve.
PACKAGE BODY EMP_PKG is still invalid. Check the package manually to resolve.
PL/SQL procedure successfully completed.

Lihat juga:

  • Cara membuat prosedur di dalam paket di Oracle
  • Cara memeriksa jumlah objek yang tidak valid di Oracle
  • 20 Contoh Pernyataan Sisipan Oracle yang Berguna

  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 memeriksa apakah ada prosedur tersimpan?

  2. Status Risiko Analisis Tekanan Memori

  3. java.sql.SQLException:ORA-03115:tipe data atau representasi jaringan yang tidak didukung

  4. Bagaimana Mendapatkan BLOB dari File di PL/SQL?

  5. Cara memilih semua kolom, dan hitungan (*) dalam kueri yang sama