sql >> Database >  >> RDS >> Oracle

Hoe alle ongeldige pakketten in Schema te compileren?

Hieronder ziet u een voorbeeld van een PL/SQL-programma om alle ongeldige pakketspecificaties te compileren en alle ongeldige pakketteksten voor de huidige gebruiker (SCHEMA) in Oracle. Als een van de ongeldige pakketten niet succesvol is gecompileerd, wordt de pakketnaam afgedrukt voor handmatige foutcontrole.

Compileer alle ongeldige pakketten in Oracle-voorbeeld

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

Voorbeelduitvoer (indien fout):

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.

Zie ook:

  • Hoe maak je een procedure aan in een pakket in Oracle
  • Het aantal ongeldige objecten controleren in Oracle
  • 20 Handige Oracle Insert Statement-voorbeelden
  1. hoe XMLImporter en FndXdfCmp te gebruiken in Oracle EBS

  2. SQL Server gebruiken als afbeeldingsopslag

  3. Auditlogboekregistratie voor PostgreSQL

  4. Database-ontwerp 101:partities in MySQL