sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kompilerer man alle ugyldige pakker i skema?

Nedenfor er et eksempel på PL/SQL-program til kompilere alle ugyldige pakkespecifikationer og alle ugyldige pakketekster for den nuværende bruger (SCHEMA) i Oracle. Hvis nogen af ​​de ugyldige pakker ikke kompileres korrekt, udskrives pakkenavnet til manuel fejlkontrol.

Kompiler alle ugyldige pakker i Oracle-eksempel

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;
/

Eksempel på output (hvis nogen fejl):

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.

Se også:

  • Sådan opretter du en procedure i en pakke i Oracle
  • Sådan kontrollerer du antallet af ugyldige objekter i Oracle
  • 20 nyttige eksempler på Oracle Insert Statement
  1. Kortlæg et PostGIS-geometripunktfelt med Hibernate on Spring Boot

  2. Escapende og-tegn i SQL-streng

  3. Hvad er nyt med MySQL-replikering i MySQL 8.0

  4. Sammensat primær nøgle versus yderligere id-kolonne?