«Создать или заменить таблицу» невозможно. Как уже говорилось, вы можете написать процедуру и / или использовать команду begin execute немедленно (...). Поскольку я не вижу ответа о том, как (повторно) создать таблицу, я поставил сценарий в качестве ответа.
PS: в соответствии с тем, что упомянул Джеффри-Кемп: этот скрипт не будет сохранять данные, которые уже присутствуют в таблице, которую вы собираетесь удалить. Из-за риска потери данных в нашей компании разрешено изменять только существующие таблицы в производственной среде, а также удалять таблицы. Воспользовавшись выпиской из дроп-таблицы, рано или поздно вы получите полицейского компании, стоящего у вас на столе.
--Create the table 'A_TABLE_X', and drop the table in case it already is present
BEGIN
EXECUTE IMMEDIATE
'
CREATE TABLE A_TABLE_X
(
COLUMN1 NUMBER(15,0),
COLUMN2 VARCHAR2(255 CHAR),
COLUMN3 VARCHAR2(255 CHAR)
)';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -955 THEN -- ORA-00955: object name already used
EXECUTE IMMEDIATE 'DROP TABLE A_TABLE_X';
END IF;
END;