DECLARE 

 l_schema dba_objects.OWNER%TYPE := ‘SCHEMA DESEJADO’;

 l_cmd    varchar2(32767);

BEGIN

  FOR cur_rec IN 

  (

    SELECT * 

      FROM dba_objects

     WHERE object_type IN (SELECT DISTINCT object_type FROM dba_objects WHERE owner = l_schema AND object_type <> ‘LOB’)

       AND owner = l_schema

  ) LOOP

    BEGIN

      IF cur_rec.object_type = ‘TABLE’ THEN

        l_cmd := ‘DROP ‘||cur_rec.object_type||’ ‘||cur_rec.owner||’.’||cur_rec.object_name||’ CASCADE CONSTRAINTS’;

        EXECUTE IMMEDIATE l_cmd;

        –DBMS_OUTPUT.put_line(l_cmd);

      ELSE

        l_cmd := ‘DROP ‘||cur_rec.object_type||’ ‘||cur_rec.owner||’.’||cur_rec.object_name;

        EXECUTE IMMEDIATE l_cmd; 

        –DBMS_OUTPUT.put_line(l_cmd);

      END IF;

      DBMS_OUTPUT.PUT_LINE(‘DROPED: ‘||l_cmd);

    EXCEPTION

      WHEN OTHERS THEN

        DBMS_OUTPUT.put_line(‘FAILED: ‘||l_cmd);

    END;

  END LOOP;

  EXECUTE IMMEDIATE(‘PURGE RECYCLEBIN’);

END;

Deixe um comentário