В идеалния случай трябва да поддържаме нашата схема правилно, като използваме най-добрите практики за контрол на източника и управление на конфигурацията. В този сценарий знаем предварително дали схемата, срещу която изпълняваме нашите скриптове, съдържа тези таблици. Не получаваме грешки, защото не се опитваме да премахнем таблици, които не съществуват.
Това обаче не винаги е възможно. Един алтернативен подход е да имате два скрипта. Първият скрипт има само операторите DROP TABLE, предшествани от приятелски
PROMPT It is safe to ignore any ORA-00942 errors in the following statements
Вторият скрипт съдържа всички оператори CREATE TABLE и води с
PROMPT All the statements in this script should succeed. So investigate any errors
Друга възможност е да използвате речника на данните:
begin
for r in ( select table_name from user_tables )
loop
execute immediate 'drop table '||r.table_name
||' cascade constraints';
end loop;
end;
Внимавайте с този. Това е ядрената опция и ще премахне всяка таблица във вашата схема.