Если вас беспокоит время между удалением и переименованием, вот еще одна идея: используйте представление, которое указывает на «правильную базовую таблицу».
Вы бы начали с
CREATE VIEW someName as Select * From OldTable;
Тогда вы можете настроить свой новый стол. Когда будешь готов, тогда просто
CREATE OR REPLACE View someName as Select * From NewTable;
Тогда вы можете оставить свой OldTable. В следующий раз, когда вы получите какие-то новые данные, создайте другую NewTable_2 (или повторно используйте OldTable .. тогда, вероятно, лучше использовать Table1 и Table2) и переопределите представление снова.
Представление настолько простое, насколько это возможно, поэтому оно должно быть легко обновляемым. Единственная сложность заключается в том, чтобы всегда создавать новую таблицу (или переключаться между двумя таблицами), но это не должно быть слишком сложно для настройки и, вероятно, проще, чем полное избежание проблем, которые могут возникнуть с вашим исходным предложением.