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;