top of page

Compile Invalid Objects

Writer's picture: Rumesh Aponso (RMAX)Rumesh Aponso (RMAX)
DECLARE
   error_count_ NUMBER:=0;
   row_count_   NUMBER:=0;
   CURSOR get_invalid_objects IS
   SELECT * FROM (
    SELECT object_name, object_type, 'alter ' || object_type || ' ' || object_name || ' compile' text
     FROM  all_objects
     WHERE object_type IN ('PACKAGE', 'VIEW', 'MATERIALIZED VIEW', 'TRIGGER', 'PROCEDURE', 'FUNCTION')
     AND   status='INVALID'
     AND   owner = USER
    UNION ALL
    SELECT object_name, object_type, 'alter package ' || object_name || ' compile body' text
     FROM  all_objects
     WHERE object_type = 'PACKAGE BODY'
     AND   status='INVALID'
     AND   owner = USER)
    ORDER BY DECODE(object_type, 'PACKAGE', 1, 'VIEW', 2, 'MATERIALIZED VIEW', 3, 4);
BEGIN
   FOR invalid_object_ IN get_invalid_objects LOOP
      row_count_:=row_count_+1;
      BEGIN
         EXECUTE IMMEDIATE invalid_object_.text;
      EXCEPTION
         WHEN OTHERS THEN
            error_count_:=error_count_+1;
            dbms_output.Put_Line('Error while compiling ' || invalid_object_.object_type || ' ' || invalid_object_.object_name);
      END;
   END LOOP;
   Dbms_Output.Put_Line('===');
   IF error_count_=0 THEN
      Dbms_Output.Put_Line('All objects compiled successfully');
   ELSE
      Dbms_Output.Put_Line(row_count_-error_count_ || ' objects compiled successfully.');
      Dbms_Output.Put_Line(error_count_ || ' objects compiled with compilation errors.');
   END IF;
END;

0 views0 comments

Related Posts

See All

Fnd Dynamic Tab Page in IEE Client

[FndWindowRegistration("YVVDA_COMPANY_ADDR", "YvvdaCompanyAddr", FndWindowRegistrationFlags.HomePage)] [FndDynamicTabPage("frmCompanyAddr...

LISTAGG in PLSQL

Example 1: SELECT DISTINCT LISTAGG(t.commission_receiver, ';') WITHIN GROUP (ORDER BY t.commission_receiver) FROM...

Get Foundation Error from ORA Error

FUNCTION Strip_Ora_Error ( sqlerrm_        IN VARCHAR2,    sqlcode_        IN NUMBER DEFAULT NULL,    strip_ora_only_ IN BOOLEAN DEFAULT...

Comentarios


Copyright © 2025 RMAXOneNote

  • Online CV
  • LinkedIn
  • Youtube
  • GitHub
  • Blogger
bottom of page