Одной из приятных особенностей синтаксиса является то, что вы можете быть уверены, что CREATE OR REPLACE
никогда не приведет к потере данных (максимум, что вы потеряете, это код, который, как мы надеемся, вы где-то сохранили в системе контроля версий) .
Эквивалентный синтаксис для таблиц - ALTER, что означает, что вам нужно явно перечислить точные требуемые изменения.
EDIT:
Кстати, если вам нужно выполнить DROP + CREATE в скрипте, и вам не нужны ложные ошибки «объект не существует» (когда DROP не находит таблицу), вы можете сделать это:
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE owner.mytable';
EXCEPTION
WHEN OTHERS THEN
IF sqlcode != -0942 THEN RAISE; END IF;
END;
/