Если вы используете хотя бы Oracle 10g, в операторе MERGE
есть предложение DELETE WHERE
.
Но, как и в случае с AB Cade, я не уверенчто я понимаю какие строки ты пытаешься удалить.Если вы пытаетесь удалить строки из целевой таблицы, которых нет в источнике, что делает MERGE
большей синхронизацией, чем слиянием, вы можете сделать DELETE WHERE NOT EXISTS
.Но если это и есть цель, я бы сделал шаг назад и посмотрел бы на проблему, потому что, похоже, существует лучший технический подход к любой вашей бизнес-проблеме.Если вы пытаетесь синхронизировать две таблицы, вы обычно либо выполняете репликацию, и в этом случае вам следует использовать технологии репликации Oracle, такие как материализованные представления и потоки, или вам не нужно иметь две копии данных, во-первых, и одну.копия должна быть просто представлением или синонимом, который ссылается на другое.