Als je als user van een schema (bij voorkeur wel owner) alle items uit een schema wil droppen om deze daarna opnieuw aan te maken kan je het volgende script uitvoeren. Dit komt dus overeen met droppen schema en opnieuw aanmaken. Beide scripts in SQL Developer als script uitvoeren (F5).
BEGIN
FOR cur_rec IN (SELECT object_name,
object_type
FROM user_objects
WHERE object_type IN
('TABLE',
'VIEW',
'PACKAGE',
'PROCEDURE',
'FUNCTION',
'SEQUENCE',
'SYNONYM',
'PACKAGE BODY'
))
LOOP
BEGIN
IF cur_rec.object_type = 'TABLE'
THEN
EXECUTE IMMEDIATE 'DROP '
||
cur_rec.object_type
|| ' "'
||
cur_rec.object_name
|| '"
CASCADE CONSTRAINTS';
ELSE
EXECUTE IMMEDIATE 'DROP '
||
cur_rec.object_type
|| ' "'
||
cur_rec.object_name
|| '"';
END IF;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ( 'FAILED: DROP '
||
cur_rec.object_type
|| ' "'
||
cur_rec.object_name
|| '"'
);
END;
END LOOP;
END;
/
Daarna moet je voordat je het schema opnieuw wil aanmaken de recycle bin leegmaken. Deze kan namelijk aanstaan en je kan niet opnieuw items aanmaken die al in de recyle bin zitten.
purge recyclebin;
commit;